码迷,mamicode.com
首页 > Web开发 > 详细

karma+requirejs

时间:2016-01-10 16:51:00      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:

下面的介绍以karma能正常运行为前提,看karma系列文章:http://www.cnblogs.com/laixiangran/tag/Karma/

目录结构

技术分享

步骤

安装

npm install karma-requirejs --save-dev

karma.conf.js

/***
 * Created by laixiangran on 2015/12/22.
 * karma单元测试配置文件
 */

module.exports = function(config) {

    config.set({

        /***
         * 基础路径,用在files,exclude属性上
         */
        basePath: "./karmaTest",

        /**
         * 测试框架
         * 可用的框架:https://npmjs.org/browse/keyword/karma-adapter
         */
        frameworks: ["jasmine", "requirejs"],

        /**
         * 需要加载到浏览器的文件列表
         */
        files: [
            {pattern: "*.js", included: false},
            "../test-main.js" //必须放最后
        ]
    });
};

test-main.js

/**
 * Created by laixi on 2016/1/10.
 * requirejs入口文件
 */

"use strict";

//单元测试时用
if(window.__karma__) {
    var allTestFiles = [];
    var TEST_REGEXP = /spec\.js$/;
    var pathToModule = function(path) {
        return path.replace(/^\/base\//, "").replace(/\.js$/, "");
    };
    Object.keys(window.__karma__.files).forEach(function(file) {
        if (TEST_REGEXP.test(file)) {
            // 将路径转换成requirejs模块
            allTestFiles.push(pathToModule(file));
        }
    });
}
require.config({
deps: allTestFiles, callback: window.__karma__.start, baseUrl: "/base" });

 注:karma.conf.js中配置的basePath在运行过程中是映射到/base目录下的。换句话说,basePath目录下的所有文件最终都会放在/base目录下,因此在test-main.js中requirejs的baseUrl属性设置必须以/base开头

karma+requirejs

标签:

原文地址:http://www.cnblogs.com/laixiangran/p/5118582.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!