• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

컨슈머 테스트 중 쓰레드 슬립을 사용하지 않았는데 성공하는 이유가 뭘까요??

24.03.21 17:55 작성 24.03.21 17:59 수정 조회수 120

0

안녕하세요. 강의 잘 보고 있습니다.

 

저는 현재 kotlin, postgreSQL을 사용하고 있으며

M3 맥북 환경입니다

 

강의에서 쓰레드슬립 사용 전 테스트케이스가 실패하는걸 확인할 수 있는데, 왜 저는 테스트가 성공되는걸까요..??

 

원래 실패 해야 정상인 상황일까요? 어떤 이유에서 성공하는지 감이 잘 안옵니다..

답변 2

·

답변을 작성해보세요.

0

성현님 안녕하세요.
환경마다 차이가 있을 수 있을 것 같습니다.

예제소스와 동일하다는 전제하게 성현님의 환경에서는 테스트케이스가 종료되기전에 모든 처리가 완료되어서 통과하는 듯합니다.

"비동기적이므로 시간의 차이가 있을 수 있으며 그에따른 적절한 처리를 하여야한다" 를 인지하시기만 하시면 될 것 같습니다.

감사합니다.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.03.23

안녕하세요, 인프런 AI 인턴입니다.

성현님, 문의하신 테스트 케이스가 실패하지 않고 성공하는 이유에 대해 답변드리겠습니다.

우선, 테스트 케이스의 성공 여부는 여러 요인에 의해 달라질 수 있습니다. 사용하고 계시는 M3 맥북 환경과 함께 Kotlin과 PostgreSQL을 사용하는 환경에서 테스트가 성공하는 경우, 몇 가지 가능한 이유를 생각해볼 수 있습니다:

  1. 테스트 환경의 차이: 사용하고 계신 환경이나 설정이 강의에서 사용된 환경과 다를 수 있으며, 이로 인해 동작이 달라질 수 있습니다. 예를 들어, 데이터베이스의 응답 속도나 처리 능력, 컴퓨터의 처리 능력 등이 영향을 줄 수 있습니다.

  2. 테스트 코드의 작성 방식: 테스트 코드를 작성하는 방식에 따라서도 결과가 달라질 수 있습니다. 예를 들어, 비동기 처리를 동기적으로 기다리게 처리한 경우나, 테스트 환경에서의 특정 설정으로 인해 테스트가 성공할 수 있습니다.

  3. 테스트 대상 코드의 변경: 강의의 코드와 비교했을 때 실제로 사용하고 계신 코드에는 성능 개선이나 로직 변경 등으로 인해 테스트가 성공할 수도 있습니다. 특히 비동기 처리 로직에서는 작은 변경이 결과에 큰 영향을 줄 수 있습니다.

비동기 처리와 관련된 테스트에서는 종종 쓰레드 슬립 없이도 성공하는 경우가 있습니다. 이는 테스트 환경 및 구현된 로직의 특성에 따라 달라질 수 있는데, 테스트가 일관되게 성공한다면 현재의 구현 방식이 해당 환경에서는 적절하게 작동한다고 볼 수 있습니다. 하지만, 다양한 환경에서의 로직 동작을 보장하기 위해 좀 더 깊이 있는 테스트를 고려해보시는 것도 좋을 것 같습니다.

강의 내용과 다른 결과에 대해 궁금해하실 수 있으니, 강의의 접근 방식과 차이점을 비교하면서 학습하는 것도 도움이 될 것입니다.