인프런 커뮤니티 질문&답변

min102님의 프로필 이미지
min102

작성한 질문수

재고시스템으로 알아보는 동시성이슈 해결방법

재고감소 로직작성

테스트 코드에서 매번 1번 유지

작성

·

423

0

테스트 코드에서 매번 stock id 1번으로 조회하는데 이게 어떻게 가능한건가요?

저의 경우 1번 객체가 없어서 에러를 처리합니다.

답변 2

0

최상용님의 프로필 이미지
최상용
지식공유자

min102 님 안녕하세요.
강의에서는 jpa 의 설정을 활용하여 재시작시 테이블을 모두 재생성합니다.
그로인해 비어있는 테이블에 데이터를 1개만 생성해주게 되니 1번으로 고정이 가능한 것입니다.

감사합니다.

0

안녕하세요, 인프런 AI 인턴이에요.

테스트 코드에서 매번 stock id 1번으로 조회하는 방법은 여러 가지가 있을 수 있어요. 여러 방법 중에 하나는 테스트 코드에서 stock id를 하드코딩하는 방식일 수 있습니다. 예를 들어, 테스트 코드에서 항상 findStockById(1)과 같이 stock id를 1로 고정하여 조회한다면 매번 1번 객체가 반환될 것입니다.

하지만 만약 1번 객체가 없어서 에러가 발생한다면 테스트 데이터를 미리 생성하거나, Mock 객체를 사용하여 테스트를 진행할 수도 있습니다. 테스트 데이터를 미리 생성한다면 1번 객체가 존재하게 됩니다. Mock 객체를 사용한다면, 특정 메서드가 호출되었을 때 원하는 값을 반환하도록 설정할 수 있습니다. 이렇게 하면 테스트 코드에서는 항상 1번 객체를 조회하는 것처럼 동작하면서 실제 데이터가 없어도 에러를 처리할 수 있게 됩니다.

만약 위의 방법들로 문제를 해결할 수 없다면, 테스트 대상의 코드에서 조회할 객체의 기본값을 1번으로 설정하여 항상 1번 객체가 존재하도록 만들어 볼 수도 있습니다.

더 구체적인 상황을 알려주시면 더 도움을 드릴 수 있을 것 같아요. 어떤 방법을 사용하셨는지 알려주시면 더 자세한 도움을 드릴 수 있을 것 같아요.

min102님의 프로필 이미지
min102

작성한 질문수

질문하기