async db 호출에 대한 단위 테스트를 작성하려고합니다. 나는 NodeJS과 ORMnomnom 패키지를 orm db 액세스로 설치하고 유닛 테스트를 위해 노드 유닛을 사용하고 있습니다. 그러나이 간단한 테스트를 위해 정지 '테스트 DB를' '시험 :비동기 db 호출에 대한 노드 단위 테스트가 중단됨 ORMnomnom
여기코드 테스트 \이
modelsdb = require('../model/model_db')
exports['test db'] = function (test) {
test.expect(1);
console.log('test db');
modelsdb.MyTable.objects.all(function (err, data) {
test.ok(true, "this assertion should pass");
test.done();
console.log('test must finish here!');
});
}
exports.testSomething = function(test){
console.log('testSomething');
test.expect(1);
test.ok(true, "this assertion should pass");
test.done();
};
나는 모든 주장이 전달이 테스트를 실행하면, 내가 콘솔에서 내 메시지를 참조 test1.js입니다 여기서 끝내야 해! ' 'testSomething'(즉, test.done()이 콜백 함수 내에 있음을 의미 함) 테스트가 완료되지 않습니다. 수동으로 중지해야합니다. '프로세스가 종료 코드 1로 완료되었습니다.' test.ok (false, "")로 변경하면 AssertionError가 발생하지만 테스트가 완료되지 않습니다. 'test db'를 제거하고 testSomething 함수 만 남기면 테스트가 예상대로 완료되고 모든 어설 션이 통과됩니다.
또한 시험용 패키지를 시도하십시오.이 패키지는 노드 단위을 기반으로합니다. 이
test1
FAIL : test db
an error occurred during test:
Error: timed out waiting for test
어떤 제안을 제공합니다? 감사합니다. .
공백없이, 모든 테스트가 여전히 정지 상태가 된 후에도 동일합니다. – srquinn
@jibsales 작동합니다, 내가 노력하고 이름 바꾸기
– fresh비동기 DB 호출을 setTimeout()으로 바꾸어 프로세스가 올바르게 종료되지 않게하는 ORM이 연결에 걸려 있지 않은지 확인하십시오. – srquinn