0
Я пытаюсь проверить запрос rootscope HTTP в моем случаеКак проверить запрос HTTP в моем случае
У меня есть что-то вроде
mainCont файла
$rootScope.testLoad = $http.get('/api/testapi/product');
TestCont файла
$rootScope.testLoad.success(function(product){
console.log(product)
})
Тестовый файл
describe('test', function() {
var $httpBackend, $rootScope, scope, mainCont, testCont;
beforeEach(module('myApp'));
beforeEach(inject(function (_$controller_, _$httpBackend_, _$rootScope_) {
scope = _$rootScope_.$new();
$rootScope = _$rootScope_;
$httpBackend = _$httpBackend_;
testCont = _$controller_('testCont', {
$scope: scope
});
mainContr = _$controller_('mainCont', {
$scope: scope
});
}));
describe('test http request', function() {
it('should check if the api is called', function() {
$httpBackend.expectGET('/api/testapi/product').respond(200);
//I am not sure how to test the call in testCont file.
})
})
});
Я не уверен, как проверить вызов в testCont, потому что, когда я запустить тест, я получил ошибку говоря
TypeError: 'undefined' is not an object (evaluating '$rootScope.testLoad.success')
Может кто-нибудь помочь мне решить эту проблему? Большое спасибо!
Спасибо за помощь. Я все еще получаю ту же ошибку +1 – BonJon
Я не знаком с вашей настройкой тестирования. Вы уверены, что правильно вводите '$ rootScope' в файлы mainCont и testCont? – tyler
Я бы так подумал, у меня есть еще один файл для тестирования, который работает с настройкой, подобной этой. – BonJon