我需要访问正在编写的测试的url,但是它失败
“超时超过2000毫秒。对于异步测试和挂钩,请确保 “ done()”称为“
经过各种实验,我无法使它正常工作,并且我怀疑测试无法到达互联网。
示例代码:
it('should be able to access the internet', function(done) {
inject(function($http) {
expect($http).to.exist; //this line passes the test
$http({
method: 'GET',
url: 'http://example.com'
}).success(function (data) {
console.log(data);
expect(true).to.be.true;
done();
}).error(function () {
expect(false).to.be.true;
done();
});
}});
将超时增加到任何程度都无济于事,并且我正在运行测试的计算机可以访问互联网。
我也用普通的XmlHttpRequest而不是angular的$ http尝试过,它也失败了:
it('should be able to access the internet', function(done) {
inject(function($http) {
expect($http).to.exist;
function reqListener () {
console.log(this.responseText);
expect(true).to.be.true;
done();
}
function errListener() {
console.log(this.responseText);
expect(false).to.be.true;
done();
}
var oReq = new XMLHttpRequest();
oReq.addEventListener("load", reqListener);
oReq.addEventListener("error", errListener);
oReq.open("GET", "http://www.example.org/example.txt");
oReq.send();
}});