AngularJS + Karma + Jasmine:beforeEach() - angular.module vs angular.mock.module

时间:2018-04-20 20:01:02

标签: angularjs karma-jasmine

  • 我是Jasmine和Karma测试的新手。
  • 我正在尝试对AngularJs服务进行单元测试。
  • 在编写规范时,我遇到了两种用于注入模块的代码。

第一类

beforeEach(angular.mock.module("app"));

第二种类型

beforeEach(function () {
    angular.module("app");
});
  • 任何人都可以通过一个简单的例子解释上述两种语言之间的差异。
  • 还有哪些代码可用于什么样的场景?
  • 我试图谷歌,但无法找到合适的答案。

谢谢:)

1 个答案:

答案 0 :(得分:0)

来自 angular-mocks.js

window.module = angular.mock.module = function() {
...

更多信息:

http://www.bradoncode.com/blog/2015/05/24/ngmock-fundamentals-angularjs-unit-testing/ https://github.com/bbraithwaite/angular.js/blob/master/src/ngMock/angular-mocks.js#L2259 https://gist.github.com/trinitroglycerin/68754b920df83a977f12#gistcomment-2851474

要启用“模块”的使用,请将其添加到 webpack 配置中:

const webpack = require('webpack');

module.exports = function(config) {
  config.set({
    //...config
    webpack: {
      //...webpack config
      plugins: [
        new webpack.DefinePlugin({
          module: 'window.module',
        }),
      ],
    }
  });
};