angularjs jasmine testng - 如何模拟工厂的资源

时间:2013-10-30 17:22:28

标签: unit-testing angularjs factory

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

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

1 个答案:

答案 0 :(得分:0)

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

在另一个beforeEach中使用提供

beforeEach(module(function ($provide) {
    $provide.value('oneOfMyOtherServicesStub', {
        someVariable: 1
    });
  }));