资讯专栏INFORMATION COLUMN

AMD module 单元测试

gggggggbong / 488人阅读

摘要:前言配合进行单元测试,存在官方版本,版本虽然陈旧,但是功能实现没有问题。单元测试中配置文件与实际存在差异,所以单元测试保证模块的可靠性,具体生产环境下注意模块可正常加载就好。。为单元测试而安装的模块。

如有排版效果混乱,请移步https://www.zybuluo.com/bornkiller/note/24759。

前言

karma配合requirejs进行单元测试,存在官方版本http://karma-runner.github.io/0.8/plus/RequireJS.html,版本虽然陈旧,但是功能实现没有问题。

单元测试中配置文件test-main.js与实际main.js存在差异,所以单元测试保证模块的可靠性,具体生产环境下注意模块可正常加载就好。。

下面代码仅为局部需特别注意代码,其它字段省略。

package.json
{
  "dependencies": {
  },
  "devDependencies": {
    "karma": "^0.12.19",
    "karma-chrome-launcher": "^0.1.4",
    "karma-cli": "^0.0.4",
    "karma-jasmine": "^0.1.5",
    "karma-requirejs": "^0.2.2",
    "requirejs": "^2.1.14"
  },
}

为单元测试而安装的node模块。

karma.config

推荐在实际使用时,用NPM在项目中再安装一次,更容易理解一些。

// Karma configuration
// Generated on Tue Jul 29 2014 10:24:37 GMT+0800 (中国标准时间)

module.exports = function(config) {
  config.set({

    // base path that will be used to resolve all patterns (eg. files, exclude)
    basePath: "",

    // frameworks to use
    // available frameworks: https://npmjs.org/browse/keyword/karma-adapter
    frameworks: ["jasmine", "requirejs"],

    // list of files / patterns to load in the browser
    files: [
      {pattern: "lib/**/*.js", included: false},
      {pattern: "service/**/*.js", included: false},
      {pattern: "test/**/*spec.js", included: false},
      "test-main.js"
    ],

  });
};

basePath使用默认值即可。

framework如上填写后,页面会自动引入断言库和加载库,不在需要手动引入。





需要注意的是files字段,included设置为false,表示不会直接通过

阅读需要支付1元查看
<