【发布时间】:2013-12-24 10:32:12
【问题描述】:
我正在尝试使用 Jamsine 对 Angular 服务进行单元测试,但我不知道如何为该服务注入依赖项。
这是我的app.js 文件,精简到基本内容:
"use strict";
angular.module("myApp", []);
(function (app) {
app.factory("taskService", function ($http) {
return {
loadTasks: function (callback) {
}
};
});
app.controller("AppController", function ($scope, $http, taskService) {
});
} (angular.module("myApp")));
这是 Jasmine 测试,再次精简到基本要素:
describe("taskService tests", function () {
var svc = {};
beforeEach(function () {
angular.module("myApp");
// I also tried this, but not luck there either
// angular.module("myApp", ['taskService']);
inject(function (taskService) { // Fails to inject the service.
svc = taskService;
});
});
});
运行测试时,我收到inject 无法解析taskService 的依赖关系的错误:
http://docs.angularjs.org/error/$injector:unpr?p0=taskServiceProvider%20%3C-%20taskService
我不知道在这里做什么。运行应用程序本身时,服务注入没有问题,例如
app.controller("AppController", function ($scope, $http, taskService) {
但我不确定如何在测试中手动进行注入。
【问题讨论】:
标签: angularjs dependency-injection jasmine