>source

현재 Spring Boot에서 Junit 테스트에 문제가 있습니다. 나는 가지고있다@구성테스트하고 싶은 수업@콩행동 양식. 이러한 메서드는 테스트 중에 건너뛰기 때문에 구성 메서드의 내용을 보호된 메서드로 추출한 다음 내부에서 호출됩니다.@콩방법@구성수업. 메서드의 동작을 테스트할 수 있도록 그렇게 했습니다. 이 메서드 내부에서 다른@ConfigurationProperties일부 설정을 로드하는 데 사용됩니다.

이제 내구성 테스트수업, 나는 조롱하고있다구성 속성클래스의 올바른 동작을 테스트할 수 있도록@콩방법.

내 문제는 내 Mockito가구성 속성내가 안에있을 때 클래스는 항상 null을 반환합니다.@콩메소드(더 구체적으로 @Bean 메소드에서 호출되는 보호된 메소드 내부). 설정 방법에 문제가 있는 것 같습니다@구성수업. 현재 나는 그것을 autowiring하고 있습니다.

지금 제 질문은 어떻게 설정합니까?@구성클래스를 올바르게 사용하므로 해당 함수를 호출하고 사용된 반환 값을 조롱할 수 있습니다.@구성 속성클래스?

미리 감사합니다!

테스트 중인 이 @Configuration 클래스에서 어떤 종류의 어설션을 실행하시겠습니까?

Arthur Klezovich2021-11-12 21:18:11

전반적으로 아무도 이와 같은 구성 빈을 테스트하지 않습니다. 함께 또는 별도로 생성하는 개별 빈을 테스트하여 간접적으로 테스트합니다. 테스트에 주입하려는 빈에 @Autowired를 사용하면 구성이 OK를 생성했는지 여부를 알 수 있습니다.

Arthur Klezovich2021-11-12 21:18:11

몇 가지 code를 보여줄 수 있다면, 당신을 돕고 이해하기가 더 쉬울 것입니다.

Susan Mustafa2021-11-12 21:18:11
  • 이전 c# : Windows 실행 파일의 소스 code를 얻는 방법은 무엇입니까?
  • 다음 MongoDB에서 데이터베이스 이름을 찾는 방법