【发布时间】:2018-04-20 21:48:16
【问题描述】:
所以我在 webstorm 中建立了一个 angular js 项目,除了业力测试套件之外,一切都正常工作
我将模型设置如下:
beforeEach(module('[modulename]'));
我的测试是:
it('should work', ((function() {
//spec body
expect(true).toBe(true);
})));
工作并通过,但是
it('should work, does it?', (inject(function(_$http_) {
//spec body
$http=_$http_;
expect(true).toBe(true);
})));
不仅测试失败,而且突然我的模块不再加载:S
错误:[$injector:modulerr] 无法实例化 [modulename] 由于: 错误:[$injector:nomod] 模块 '[modulename]' 不可用!您要么拼错了模块名称,要么忘记加载它。如果注册模块,请确保将依赖项指定为第二个参数。
为什么即使对第一个测试(没有注入)进行两个测试似乎都可以正常工作 - 第二个测试仍然像之前所说的那样失败......
重要提示:如果我在浏览器窗口中运行我的应用程序,一切正常,因此错误必须在测试文件或其他内容中:S
我对 angular js 和 karma 比较陌生,所以我希望这不是一个愚蠢的问题。
【问题讨论】:
标签: javascript angularjs unit-testing karma-jasmine angularjs-injector