inflearn logo
강의

Course

Instructor

TDD Development by Following [Updated in November 2023]

Cannot log after tests are done. Did you forget to wait for something async in your test?

2118

minjaehyun

2 asked

0

안녕하세요 강사님!

테스트 실행하면 통과하는데, 콘솔에 Cannot log after tests are done 가 뜨는 경우,

"테스트가 끝난 후에 log 를 내보낼 수 없다"는 의미로 이해하고 있습니다.

이러한 경고(?)창을 안 뜨게 하는 방법이 있나요?

 

감사합니다

jest mongoose nodejs supertest mongodb tdd express

Answer 1

1

John Ahn

안녕하세요 !!! 

좋은 질문 감사합니다 ! 

세가지 정도의 방법이 있는것 같은데요...

1.

"test": "jest --runInBand --detectOpenHandles"
 

우선 이 스크립트를 이용해서 npm run test 로 하면 저 에러가 안나옵니다! 

2.
그리고 현재  jest testrun을 이용해서 하나씩 할 때는 
node '/Users/johnahn/Downloads/tdd-app/node_modules/.bin/jest' '/Users/johnahn/Downloads/tdd-app/test/integration/products.int.test.js' -t 'POST /api/products'

 

이런식의 명령어를 사용하는데   거기에  --forceExit 를 붙여주면 에러가 안납니다.

3. 
테스트 후에 몽고db를 강제로 close 해주시면 되는데 이렇게 되면 여러개를 한꺼번에 테스트할 때는 오히려 에러가 납니다.   왜냐면 하나의 테스트 후에 강제로 디비를 종료하기 때문입니다. 

const mongoose = require('mongoose');

let firstProduct;


it("POST /api/products", async (done) => {
const response = await request(app)
.post("/api/products")
.send(newProduct);
expect(response.statusCode).toBe(201)
expect(response.body.name).toBe(newProduct.name)
expect(response.body.description).toBe(newProduct.description)
await mongoose.connection.close();
done();
})

그래서 integration 테스트 같은 경우는 npm run test로 테스트해주시는게 제일 좋은것같습니다 감사합니다 

 

TypeError: user_model_1.default.create is not a function

0

253

1

에러 처리를 위한 단위테스트 작성

0

344

1

res.status(201) 부분에서 typeerror가 발생합니다

0

387

1

따라하며 배우는 TDD 개발 [2023.11 업데이트] 강의 질문

0

333

1

[MAC] PORT:5000번 관련 에러

0

272

0

테스트를 위한 데이터베이스를 생성해야하나요?

0

401

1

Postman 사용방법에 대해서

0

400

1

jest.fn() 을 할당할때 타입스크립트에서 에러가 발생합니다.

0

443

1

라우터를 돌릴 때

0

352

1

npm run start를 실행할 때 부터가 이상합니다.

1

431

1

node.js에 대한 이상점

0

453

1

nodemocks 오류나니까 뺴고 설치하셔요

1

409

1

Node.js 앱을 테스트하기 위한 Jest 설정 부분..

0

271

0

models 파일만 첫번째 글자를 대문자로 해주는 이유

0

297

1

mongodb project 및 cluster관련

0

327

0

무조건 failure case 로 넘어가시는 분들

2

258

1

올려둔 ES6 Express Jest Boilerplate Template 으로 개발 중이신 분들...

0

236

0

ES6 사용하고 싶은 분들...

1

359

0

Jest did not exit one second after the test run has completed. 이슈

0

3039

3

왜 인자네개 함수 안만들어도 포스트맨에서는 에러메세지가 나오는 것인가요?

0

300

2

통합 테스트에 관한 질문 이 있습니다.

0

238

1

bodyParser 대체에 관한 질문

0

418

2

안녕하세요. 문의드립니다.

0

199

1

mock 사용 관련

0

161

0