【发布时间】:2014-07-29 22:37:06
【问题描述】:
我想提供我自己的功能来替换工厂,我还希望能够使用.and.callThrough() 来使用原始功能。我遇到的主要问题是我无法将工厂注入到模拟模块语句中。
describe("It", function() {
var mockFactory;
//This works, but the original functionality is gone at this point because I'm overriding it with $provide
beforeEach(angular.mock.module('myModule', function($provide) {
mockFactory = jasmine.createSpy('myFactory');
$provide.factory('myFactory', function() { return mockFactory });
}));
//This fails because I cant inject the actual factory into the module mock
beforeEach(angular.mock.module('myModule', function($provide, myFactory) {
mockFactory = jasmine.createSpy('myFactory', myFactory);
$provide.factory('myFactory', function() { return mockFactory });
}));
})
关于如何克服这个问题的任何想法?提前致谢!
【问题讨论】:
标签: angularjs jasmine karma-runner karma-jasmine