如果您在 index.html 中包含 angular-mocks.js,ngMock 会自动包含自身。
什么是强制 Angular 在测试模式下加载模块的最简单方法,只需包含一个文件而不必编辑任何模块依赖项。
如果您在 index.html 中包含 angular-mocks.js,ngMock 会自动包含自身。
什么是强制 Angular 在测试模式下加载模块的最简单方法,只需包含一个文件而不必编辑任何模块依赖项。
加载模块的唯一方法是调用angular.module(...)
. ngMocks通过调用加载“自身”:
angular.module('ngMock', ['ng']).provider(...).config(...);
您无需将模块声明为依赖项即可加载它。您可以只包含angular.module('<moduleName>', [<moduleDependencies>...]);
在其脚本中。
如果您的意思是“如何自动添加到使用orngMock
加载的任何模块的依赖项列表中,那是因为创建了一个自定义注入器,以便它获取依赖项列表并预先添加:window.module
angular.mock.module
ngMocks
'ngMock'
window.inject = angular.mock.inject = function() {
...
return isSpecRunning() ? workFn() : workFn;
...
function workFn() {
var modules = currentSpec.$modules || [];
modules.unshift('ngMock'); // <-- this line does the trick
modules.unshift('ng');
...
您可以创建自己的函数,在实例化之前将您的模块添加到依赖项列表中,但我几乎不相信这将有助于测试。相反,它将是另一个错误来源(并可能导致“隐藏”依赖错误)。