angularjs – Angular Jasmine:带有module()的beforeEach()语法

你能解释一下这条线的工作原理:

beforeEach(module(‘phonecatApp’));

beforeEach()期望在每次测试之前调用回调函数.
module()返回一个angular.Module对象.

beforeEach()对一个对象做了什么?

最佳答案 如果您查看
angular.mock.module的源代码,您可以看到它返回函数或函数的结果,具体取决于规范是否正在运行:

window.module = angular.mock.module = function() {
  var moduleFns = Array.prototype.slice.call(arguments, 0);
  return isSpecRunning() ? workFn() : workFn;
  /////////////////////
  function workFn() {
    ...

当调用beforeEach时,我怀疑这被视为不在规范期间,因此该函数返回一个回调,该回调在测试运行程序稍后调用使用beforeEach注册的回调时运行.

此外,我没有看到记录,或在源中,它实际上返回一个模块对象.它显然使用依赖注入系统注册了一个模块.

点赞