MongoDB 백엔드 코드에 최신 ecmascript 구문을 사용하여 jest 테스트를 배우고 있습니다. 빈 콜렉션에서 문서를 찾으려고하면 테스트가 실패할지 지금 테스트하고 있습니다.nodejs async/try/catch jest 테스트가 통과해서는 안되는 경우
아무것도 반환하지 않으며, 그 커서가 falsey 의미,하지만 난 truthy 기대하는 그에게 내가 모를 때 여전히 아래의 테스트도 통과하기 때문에 커서가 결과로 null
되어야하는 이유 :
import config from './config'
const mongodb = require('mongodb')
it('sample test',() => {
mongodb.MongoClient.connect(config.mongodb.url, async (connectErr, db) => {
expect(db).toBeTruthy()
let cursor
try {
cursor = await db.collection('my_collection').findOne()
// cursor is null, but test still passes below
expect(cursor).toBeTruthy()
} catch (findErr) {
db.close()
}
})
})
또한이 테스트는 좋은 테스트 스타일입니까? 나는 어딘가에서 try/catch 블록을 사용해서는 안된다는 것을 읽었다. 그러나 이것이 비동기/오류 대기를 처리하는 데 사용됩니다.