5
passThrough()を使用して私の単体テストに実際の$ httpデータを使用したいと思います。実際のXHRデータ/ passThrough()でAngularJS/Karmaユニットテスト
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