angularjs - Angular + Jasmine : beforeEach() syntax with module()

标签 angularjs jasmine

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

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 注册的回调时运行.

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

关于angularjs - Angular + Jasmine : beforeEach() syntax with module(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30498398/

相关文章:

javascript - 如何刷新我的 ng-repeat?

javascript - 如何使用 Jasmine BDD 测试文件上传

javascript - 错误 : Expected undefined to equal in karma

javascript - 如何用 jasmine 监视 localStorage 方法

AngularJS 和解析正文

javascript - 使用 Angular 在本地绑定(bind) DataViz 图表(条形图)

javascript - ng-repeat 中的 Angular 独特 ng-model

javascript - .done 或 .then 中的 Jasmine 测试方法

javascript - RangeError : Maximum call stack size exceeded using Array. forEach

javascript - 防止 Angular 模板的浏览器缓存