2016-01-06 62 views
1

我有以下测试代码使得兴农存根时不是一个对象错误测试运行,我得到以下错误:入门未定义在角

PhantomJS 1.9.8(Mac OS X 0.0.0)imagesCtrl“之前,每个”钩:workFn for“should exist”失败 TypeError:'undefined'是不是一个对象(评估'$ q.resolve') at..src/js/controllers/imageCtrl-test.js:18;

此错误指的是行 this.loadPics = sinon.stub()。returns($ q.resolve({.....}));

回答

0

所以答案就是依赖注入。 起初,我试图在每一个如之前注入$ Q:

beforeEach(module(function ($provide, $q) { 

    $provide.service('images', function() { 
     this.loadPics = sinon.stub().returns($q.resolve({message: 'object data from service stub'})); 
    }); 

})); 

做如下其注入到$提供商的正确方法:

beforeEach(module(function ($provide) { 

    $provide.service('images', function ($q) { 
     this.loadPics = sinon.stub().returns($q.resolve({message: 'object data from service stub'})); 
    }); 

})); 

在此之后,一切工作正常。