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

时间:2015-05-28 06:04:01

标签: angularjs jasmine

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

  

beforeEach(模块( 'phonecatApp'));

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

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

1 个答案:

答案 0 :(得分:2)

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

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

当调用beforeEach时,我怀疑在规范期间将其视为而不是,因此该函数返回一个回调,该回调在测试运行程序稍后调用使用{注册的回调时运行{1}}。

另外,我没有看到记录在案,或者在源代码中,它实际上返回模块对象。它显然使用依赖注入系统注册模块。