0
我正在測試一個服務功能,該功能會撥打衆多$http.get()
調用。被測實際功能返回一個承諾。目前,該測試未通過response is undefined
。無法讀取角度業務測試中未定義的屬性
下面是測試:
it('should return the list of catalogues', inject(function ($q, bookService) {
var list;
var deferred = $q.defer();
var promise = deferred.promise;
promise.then(function (response) {
list = response.success; // Cannot read property 'success' of undefined
});
bookService.getCatalogues().then(function (response) {
deferred.resolve(response); // this line is hit first
});
$httpBackend.flush();
expect(list).toEqual(listOfBooks); // listOfBooks is defined outside test
}));
我在做什麼錯?
你確保響應對象包含一個成功的財產? –
這兩個函數中的響應參數都爲空。 –