所以我在webstorm中设置了一个角度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和因果报应该是新手,所以我希望这不是一个愚蠢的问题。
答案 0 :(得分:1)
尝试使用 $ httpBackend 而不是 $ http 。此外,注入和模拟应在测试设置阶段的测试用例之外完成。使用beforeEach()块来获取任何设置和实例化代码。