2016-01-06 58 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'})); 
    }); 

})); 

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