묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결더 자바, 애플리케이션을 테스트하는 다양한 방법
질문있습니다.
현재 스프링부트는 3.x버전대인데..버전대 맞춰서 예제나 소스코드를 변경해야할까요?..강의버전대는 2.1? 버전으로 알고있습니다..(지원하지 않은 코드가 있을경우)아울러 9월 이후로 답변주시지 않으신것같은데..질문이나 답변은 더 이상 안하시는것일까요?
-
미해결더 자바, 애플리케이션을 테스트하는 다양한 방법
동시성 테스트는 어떻게 작성해야하는지 궁금합니다.
안녕하세요. 올려주시는 강의 잘듣고 도움 많이 받아 항상 감사드립니다.@Transactional의 isolation, propagation 옵션에 대한 공부를 위한 학습 테스트를 작성해보고 싶은데요. (실제 업무에서도 동시성과 관련된 테스트 커버리지를 향상시키고 싶습니다)두 개의 쓰레드가 하나의 인스턴스에 동시에 접근하는 케이스에 대한 테스트를 작성하고 싶습니다. TransactionManager를 직접 핸들링하는건 올바른 방법은 아닐 것이라고 생각하는데, 테스트 코드 작성 단계에서 동시성 테스트를 지원하는 기능이 있을까요?JUnit5나 Mockito 라이브러리만을 활용해서 해결할 수 있는 방법이 있을지 궁금하여 질문드립니다!
-
미해결더 자바, 애플리케이션을 테스트하는 다양한 방법
thenThrow() 안에는 runtime 익셉션만 선언가능한가요?
안녕하세요. 기선님테스트 코드 작성은 처음이라 강의를 들으며 해보고 있는 수강생 입니다 !다름이 아니라 throw 부분에 ioException이나 sqlException을 실행시키고 싶은데 에러엔 org.mockito.exceptions.base.MockitoException:Checked exception is invalid for this method! 이렇게만 뜨더라구요 근데 runtime 익셉션은 정상적으로 실행되는 걸 보면서 thenthrow는 unchecked 익셉션만 가능한건지 궁금증이 생겼습니다. 혹시 ioException이나 sqlException 처럼 checked 익셉션을 실행하고 싶으면 어떻게 하면 좋을까요?사정상 코드의 내용을 상세히 첨부할 수 없지만 대략적으로 올려봅니다 @DisplayName("3. 실패 : DB insert 오류") public void 실패_DB_insert_오류() { //given //특정 객체 생성 when(특정 서비스).thenThrow(new sqlException()); //then - 실패 결과 assertThrows(sqlException.class, () -> { log.info("!! DB insert 오류 !! "); //when - 프로세스가 진행 }); // verify를 통해 해당 프로세스 최소 1번 호출 되었는지 확인 verify(kosService,atLeastOnce()).특정 서비스); }
-
미해결더 자바, 애플리케이션을 테스트하는 다양한 방법
중복 저장
mock 객체 만들어서 restful 호출했더니 왜 중복으로 저장이 될까요? postman으론 한번 저장되던데
-
미해결더 자바, 애플리케이션을 테스트하는 다양한 방법
Postgresql GenericeContainer로 안띄워지시는분 참고하세요~!
어느 버전부터인지는 모르겠으나 postgres_password가 설정되지 않으면 컨테이너가 띄워지지 않네요. GenericContainer 에 POSTGRES_PASSWORD 설정을 주거나 POSTGRES_HOST_AUTH_METHOD 에 trust 속성을 주면됩니다! 개발 환경은 윈도우 10에 spring boot 2.4.0, testcontainer 1.15.0 입니다