【发布时间】:2013-05-10 01:16:56
【问题描述】:
在对 Angular 工厂(使用 Karma + Jasmine)进行单元测试时,如何将存根依赖项注入被测工厂?
这是我的工厂:
mod = angular.module('myFactoryMod', []);
mod.factory('myFactory', [
'$log', 'oneOfMyOtherServices', function($log, svc) {
return makeSomethingThatDoesSomethingWithTheseDependencies($log, svc);
}
]);
实例化我的工厂时需要oneOfMyOtherServices。
这是我的测试:
it('can get an instance of my factory', function() {
var oneOfMyOtherServicesStub;
angular.mock.module('myFactoryMod');
oneOfMyOtherServicesStub = {
someVariable: 1
};
//****How do I get my stub in my target? ****
angular.mock.inject(['myFactory', function(target) {
expect(target).toBeDefined();
}
]);
})
注意我知道$controller 允许控制器这样做,但我看不到工厂的等效项。
【问题讨论】:
标签: angularjs jasmine karma-runner