我可以成功地模拟控制器的资源,但我不确定如何为工厂做这样的事情。
beforeEach(inject(function ($injector) {
$scope = $injector.get('$scope');
$controller = $injector.get('$controller');
var $q = $injector.get('$q');
$controller('mycontroller', {
$q: $q,
name: resourceMock,
});
我有一个工厂,需要资源作为参数,但我不确定在测试中如何让工厂使用模拟。
我对工厂的测试通常是:
beforeEach(inject(function(MyFactory, $q, Resource) {
_factory = MyFactory;
}));
我如何测试这个以便我可以通过我的测试中的全局变量访问MyFactory的方法(或者其他方式,我不必使用全局变量,只是希望能够访问方法)并模拟出“资源”)
答案 0 :(得分:0)
实际上,我从另一个问题中找到了答案。
在另一个beforeEach中使用提供
beforeEach(module(function ($provide) {
$provide.value('oneOfMyOtherServicesStub', {
someVariable: 1
});
}));