Ich möchte echte $ http-Daten für meine Unit-Test mit passThrough() verwenden.AngularJS/Karma-Unit-Test mit echten XHR-Daten/passThrough()
Hier ist, was ich bisher:
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();
});
Aber das gibt einen Fehler:
Unexpected request: GET /api/data
No more request expected
Error: Unexpected request: GET /api/data
No more request expected
Wenn ich die Anwendung nenne es mal aus zu entfernen.
Danke, Mann. Normalerweise würde ich warten, um das zu testen, bevor ich akzeptiere (oder in meinem Fall, das Kopfgeld zuerkannt), aber Ihre Antwort scheint, dass es genau richtig ist. Ich kann nicht glauben, dass ich nicht daran gedacht habe. Auch habe ich noch nicht gehört (obwohl der Name klingt vertraut) Charles Proxy. – forivall