当单元测试一个Angular工厂(使用Karma Jasmine)时,如何将一个stub依赖注入到测试的工厂?
@H_403_14@这里是我的工厂:
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(); } ]); })
N.B.我知道$控制器允许这个控制器,但我没有看到一个等价的工厂。