1
我試圖讓測試 使用直通方法,但投擲的錯誤如何在控制器中進行REST API調用單元測試?
一個真正的呼叫,並指定作用域代碼如下所示: -
describe('Controller: MainCtrl', function() {
// load the controller's module
beforeEach(module('w00App'));
var scope, MainCtrl, $httpBackend;
// Initialize the controller and a mock scope
beforeEach(inject(function(_$httpBackend_, $rootScope, $controller) {
$httpBackend = _$httpBackend_;
$httpBackend.expectGET('http://api.some.com/testdata').passThrough();
scope = $rootScope.$new();
MainCtrl = $controller('MainCtrl', {
$scope: scope
});
})); it('should make a post to refresh the friends list and return matching users', function(){
var deferredResponse = $httpBackend.expectGET('http://api.some.com/testdata').passThrough();
console.log('response'+JSON.stringidy(deferredResponse));
$httpBackend.flush();
// expect(deferredResponse).toEqual(deferredResponse);
}); });
Error :- TypeError: 'undefined' is not a function (near '... ').passThrough();...') .....
我怎麼能調用和分配作用域像在Real控制器中?請幫助..它讓我的生活變得輕鬆。
window.getJSONFixture('actions.json ')是一個模擬JSON的權利? – Prasad
是的,這是嘲諷的迴應 – aurelius
是不是可能得到Api的真實反應到$範圍?就像在Real控制器中一樣,您能否讓我知道需要注入什麼jasmine.getJSONFixtures() – Prasad