Angular + Jasmine:beforeEach() 语法与 module()

Las*_*o B 5 jasmine angularjs

您能解释一下这条线是如何工作的吗:

beforeEach(模块('phonecatApp'));

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

beforeEach() 对对象做什么?

Mic*_*mza 3

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

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

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


另外,我没有在文档中或源代码中看到它实际上返回一个模块对象。它显然向依赖注入系统注册了一个模块。