【发布时间】:2015-08-05 19:12:08
【问题描述】:
我正在学习如何仅使用独立的 jasmine 服务器编写 AngularJS 测试。 我成功地测试了一个控制器,但是我在测试我写的工厂时遇到了麻烦。我收到一个错误,例如,
Error: [$injector:modulerr]
(工厂代码)myservice.js:
mod.factory('WeatherService', function ($http) {
return {
testingdata: function () {
return {name: "test", class: "ix"};
}
};});
app.js
var mod = angular.module("myapp", []);
我的测试:
describe("ws", function () {
describe('when I call WeatherService', function () {
it('returns 1', function () {
var t = {name: "test", class: "ix"};
var $injector = angular.injector(['myapp']);
var WeatherService= $injector.get('WeatherService');
expect(WeatherService.testingdata).toEqual(t);
});
});
});
【问题讨论】:
-
阅读 docs 以在 Jasmine 中正确注入模块和提供程序。有一个系统函数
inject()可以解决问题
标签: angularjs jasmine angularjs-factory