Karma错误:[$injector:moduler]未能实例化模块,原因是:(Index.html工作正常)



所以我在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

我对角js和因果报应还很陌生,所以我希望这不是一个愚蠢的问题。

尝试使用$httpBackend而不是$http。此外,注入和模拟应该在测试设置阶段的测试用例之外进行。对任何设置和实例化代码使用beforeEach()块。

最新更新