Я бы хотел использовать реальные $ http-данные для моего модульного теста с помощью метода passThrough().Единичное тестирование AngularJS/Karma с реальными данными XHR/passThrough()
Вот что я до сих пор:
var should = chai.should();
beforeEach(module('myApp', 'ngMockE2E'));
beforeEach(inject(function(_$httpBackend_, _$rootScope_, _$http_) {
$scope = _$rootScope_;
$http = _$http_;
$httpBackend = _$httpBackend_;
}));
it.only('blah', function(done) {
$httpBackend.whenGET('/api/data').passThrough();
$scope.$apply(function() {
$http.get('/api/data').success(function(data) {
data.should.eql({"foo": "bar"});
done();
});
});
// Evidently not required with E2E
//$httpBackend.flush();
});
Но это дает ошибку:
Unexpected request: GET /api/data
No more request expected
Error: Unexpected request: GET /api/data
No more request expected
Если я удалить применить называют это тайм-аут.
Спасибо, человек. Обычно я бы подождал, чтобы проверить это, прежде чем принимать (или, в моем случае, награду за награду), но ваш ответ кажется, что он абсолютно правильный. Не могу поверить, что я об этом не думал. Кроме того, я не слышал (хотя название звучит знакомо) Charles proxy. – forivall