작성
·
287
·
수정됨
0
안녕하세요. 강의 잘 보고 있습니다.
저는 현재 kotlin, postgreSQL을 사용하고 있으며
M3 맥북 환경입니다
강의에서 쓰레드슬립 사용 전 테스트케이스가 실패하는걸 확인할 수 있는데, 왜 저는 테스트가 성공되는걸까요..??
원래 실패 해야 정상인 상황일까요? 어떤 이유에서 성공하는지 감이 잘 안옵니다..
답변 2
0
성현님 안녕하세요.
환경마다 차이가 있을 수 있을 것 같습니다.
예제소스와 동일하다는 전제하게 성현님의 환경에서는 테스트케이스가 종료되기전에 모든 처리가 완료되어서 통과하는 듯합니다.
"비동기적이므로 시간의 차이가 있을 수 있으며 그에따른 적절한 처리를 하여야한다" 를 인지하시기만 하시면 될 것 같습니다.
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다.
성현님, 문의하신 테스트 케이스가 실패하지 않고 성공하는 이유에 대해 답변드리겠습니다.
우선, 테스트 케이스의 성공 여부는 여러 요인에 의해 달라질 수 있습니다. 사용하고 계시는 M3 맥북 환경과 함께 Kotlin과 PostgreSQL을 사용하는 환경에서 테스트가 성공하는 경우, 몇 가지 가능한 이유를 생각해볼 수 있습니다:
테스트 환경의 차이: 사용하고 계신 환경이나 설정이 강의에서 사용된 환경과 다를 수 있으며, 이로 인해 동작이 달라질 수 있습니다. 예를 들어, 데이터베이스의 응답 속도나 처리 능력, 컴퓨터의 처리 능력 등이 영향을 줄 수 있습니다.
테스트 코드의 작성 방식: 테스트 코드를 작성하는 방식에 따라서도 결과가 달라질 수 있습니다. 예를 들어, 비동기 처리를 동기적으로 기다리게 처리한 경우나, 테스트 환경에서의 특정 설정으로 인해 테스트가 성공할 수 있습니다.
테스트 대상 코드의 변경: 강의의 코드와 비교했을 때 실제로 사용하고 계신 코드에는 성능 개선이나 로직 변경 등으로 인해 테스트가 성공할 수도 있습니다. 특히 비동기 처리 로직에서는 작은 변경이 결과에 큰 영향을 줄 수 있습니다.
비동기 처리와 관련된 테스트에서는 종종 쓰레드 슬립 없이도 성공하는 경우가 있습니다. 이는 테스트 환경 및 구현된 로직의 특성에 따라 달라질 수 있는데, 테스트가 일관되게 성공한다면 현재의 구현 방식이 해당 환경에서는 적절하게 작동한다고 볼 수 있습니다. 하지만, 다양한 환경에서의 로직 동작을 보장하기 위해 좀 더 깊이 있는 테스트를 고려해보시는 것도 좋을 것 같습니다.
강의 내용과 다른 결과에 대해 궁금해하실 수 있으니, 강의의 접근 방식과 차이점을 비교하면서 학습하는 것도 도움이 될 것입니다.