zoukankan      html  css  js  c++  java
  • karma+requirejs

    下面的介绍以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开头

  • 相关阅读:
    HDOJ.1029 Ignatius and the Princess IV(map)
    STL之map
    STL之map
    UVA.1584 环状序列
    UVA.1584 环状序列
    AOJ. 数组训练.2016-11-17
    AOJ. 数组训练.2016-11-17
    AOJ.592 神奇的叶子
    AOJ.592 神奇的叶子
    技能书
  • 原文地址:https://www.cnblogs.com/laixiangran/p/5118582.html
Copyright © 2011-2022 走看看