MEAN 앱을 테스트 중입니다. 각 테스트는 올바른 응답 코드를 다시 얻고 있는지 확인하는 것입니다. 라우터에서 res.send()를 사용하여 json을 성공적으로 반환하고 있습니다.이전 테스트가없는 경우 Mocha it() 테스트가 통과합니다.
여기에 주어진 두 번째 테스트는 첫 번째 테스트가 주석 처리 된 경우에만 완료됩니다. 첫 번째 테스트에서 주석을 제거하면 첫 번째 테스트는 통과하지만 두 번째 테스트는 중단됩니다.
이 동작은 두 테스트에서 고유하지 않습니다. '위도와 경도를 받아들이 기'전에 다른 테스트가 있습니다. 내가 그걸 언급하면 위도 높거나 긴 작품을 받아 들일 수 있습니다. 내가 안으로 들어가면, 위도와 장시간을 받아 들인다. 이러한 비동기 테스트를 통과하려면 무엇을해야합니까?
나는 타임 아웃을 60 초와 같이 설정하려고 시도했으나 작동하지 않습니다.
Listening on port 3000
POST service request
===REQUEST STARTED===
Trying to save a request.
DB connected.
Saved.
POST /requests.json 200 40.368 ms - 49
✓ accepts lat and long (47ms)
22222
1) accepts an address id only
1 passing (5s)
1 failing
1) POST service request accepts an address id only:
Error: timeout of 5000ms exceeded
at null.<anonymous> (/usr/lib/node_modules/mocha/lib/runnable.js:159:19)
at Timer.listOnTimeout [as ontimeout] (timers.js:110:15)
npm ERR! Test failed. See above for more details.
npm ERR! not ok code 0
을 그리고 다음 번 아웃 :
var assert = require('assert');
var server = require('../bin/www');
var request = require('supertest');
request = request('http://localhost:3000');
describe('POST service request', function(){
this.timeout(5000);
var postRequest = request.post('/requests.json').type('form');
... (other commented out tests) ...
// it('accepts lat and long', function (done){
// postRequest.send({
// service_code: 2000,
// long: 400,
// lat: 3003
// }).expect(200, done);
// });
it('accepts an address id only', function (done){
console.log('22222')
postRequest.send({
service_code: 100,
address_id: 400
}).expect(200, done);
});
});
는 여기에 몇 가지들은 모두 주석 때 출력을 기록한다.
'postRequest'란 무엇입니까? 네가 일하기에 충분하다고 생각하지 않는다. – loganfsmyth
@loganfsmyth 죄송합니다 - 업데이트되었습니다. –