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