Я пытаюсь написать интеграционный тест с использованием кармы. Мне нужно сделать настоящий http-вызов и получить реальный ответ. Я пробовал все решения, упомянутые в # 1434, например, используя passthrough() и комментируя «$ httpBackend: angular.mock. $ HttpBackendProvider» в angular-mocks.js, и никто из них не работал.Можем ли мы сделать настоящий http-вызов в карма-тесте?
Вот мой тестовый код:
use strict';
describe('module: main, service: AuthService', function() {
beforeEach(module('ngMockE2E'));
// load the service's module
beforeEach(module('main'));
// load all the templates to prevent unexpected $http requests from ui-router
beforeEach(module('ngHtml2Js'));
// instantiate service
var AuthService;
var $q;
var deferred;
var $rootScope;
var response;
var scope, http, flush, httpBackend;
beforeEach(inject(function ($httpBackend,AuthService,$q, $rootScope) {
httpBackend = $httpBackend;
AuthService = AuthService;
$q = $q;
$rootScope = $rootScope;
deferred = $q.defer();
scope = $rootScope.$new();
}));
it('should do something', function() {
expect(!!AuthService).toBe(true);
expect(AuthService).not.toBeNull();
});
it('verify authenticating user', function() {
AuthService.authUser('[email protected]','abc123').then(function (result) {
console.log("Result of successful auth user is ");
console.log(result);
expect(result).toEqual(true);
done();
}, function (error) {
console.log("error of failure auth user is ",error);
expect(false).toBe(true);
done();
});
httpBackend.whenPOST('/oauth/token').passThrough();
$rootScope.$digest();
//httpBackend.flush();
});
});
Это будет здорово, если кто-нибудь есть какое-либо решение для этого, чтобы сделать реальный вызов HTTP в тесте кармы
Во время тестирования, мы хотим, чтобы наши тесты, чтобы быстро бегать и не имеют внешних зависимостей, так что мы не хотим, чтобы отправить XHR или JSONP запросы к реальному серверу. Все, что нам действительно нужно, это проверить, был ли отправлен какой-либо запрос или нет, или просто разрешить приложению делать запросы, отвечать предварительно подготовленными ответами и утверждать, что конечный результат - это то, что мы ожидаем. – user1645290