0
async.each를 사용하여 여러 URL을 테스트하려고하는 chai-http와의 간단한 테스트가 있는데 요청이 더 많이 걸리면 2 초가 지나면 오류가 발생합니다.chai-http 및 async.each, "2000ms의 초과 시간 초과 ..."를 던졌습니다.
it("it should GET the required images", (done) => {
async.each(get_data, function(item, cb){
chai
.request(item.server_url.S)
.get('/'+ item.endpoint.S + '?' + item.incoming.S)
.end(function(err, res) {
if(err) console.error(err);
expect(err).to.be.null;
expect(res).to.have.status(200);
cb();
});
}, function(err){
if(err) console.log(err);
done();
});
});
내가 생각하는대로 "완료"라고 말했지만, 오류가 계속 발생합니다. 무엇이 잘못 되었나요? 오류가 비동기, 그냥 간단한 chai 요청, 단 하나의 요청으로 표시됩니다 ... 그래서 꽤 비동기 문제가 아니라 chaiHttp 나쁜 사용하여.
"end"대신 "then/catch"로 시도했지만 결과는 같습니다. 는 쿼리를 2 초 이상 걸리는 경우
내가, 동일한 테스트 스크립트에 있지만, DB와 비슷한 문제를 가지고, 그것은 휴식 ... 같은 오류 또한 "완료"를 사용 :before((done) => {
// runs before all tests in this block
const params = {
TableName: "mytable"
};
mydb.scan(params, (err, records) => {
if(err) console.log(err);
for(let i = 0; i < records.Items.length; i++){
//...some ifs, nothing async
}
done();
});
});
테스트는 더 이상 2000ms보다 오래 걸리는 경우
를 해결할 수있는 테스트에 대한 제한 시간을 연장하는 것이 좋습니다. 자세한 설명은 문서에 대한 링크 추가. https://mochajs.org/#timeouts – user2263572
두 분 모두 고맙습니다. – Laerion