0

我可以成功地模拟控制器的资源,但我不确定如何为工厂这样做。

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 的方法(或其他方式,我不必使用全局变量,只希望能够访问这些方法)并模拟“资源")

4

1 回答 1

0

实际上,我从另一个问题中找到了答案。

在另一个 beforeEach 中使用提供

beforeEach(module(function ($provide) {
    $provide.value('oneOfMyOtherServicesStub', {
        someVariable: 1
    });
  }));
于 2013-10-30T18:23:32.023 回答