5
我想使用真正的$ 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
如果我刪除應用調用超時。
謝謝,夥計。通常情況下,我會在接受(或者在我的情況下,獎勵賞金)之前等待測試,但是您的回答看起來完全正確。我不敢相信我沒有想到這一點。另外,我還沒有聽說過(儘管這個名字聽起來很熟悉)查爾斯代理。 – forivall