source

스프링 부트 Junit 테스트 케이스에서 contextLoads 메서드는 어떤 용도로 사용됩니까?

manycodes 2023. 7. 15. 10:19
반응형

스프링 부트 Junit 테스트 케이스에서 contextLoads 메서드는 어떤 용도로 사용됩니까?

이 방법은 모든 JUNit 테스트 사례에서 비어 있습니다.이 방법의 용도는 무엇입니까?

소나크베는 불평하고 있습니다.
"이 메서드가 비어 있는 이유를 설명하는 중첩 설명을 추가하고, 지원되지 않는 작업구현을 예외로 하거나 완료합니다."

나는 코멘트를 추가하여 이것을 생략할 수 있지만 왜 그것이 필요한지 알고 싶습니다.

Spring Initializer를 사용하여 Spring 부팅 응용 프로그램을 빌드하는 경우.자동으로 테스트 클래스를 만듭니다.contextLoads공허한 방법

@SpringBootTest
class ApplicationContextTest {

  @Test
  void contextLoads() {
  }
}

의 사용에 주의합니다.@SpringBootTest주석을 사용하여 기본 구성 클래스(예: @SpringBootApplication이 있는 클래스)를 찾고 이 클래스를 사용하여 Spring 응용 프로그램 컨텍스트를 시작하도록 합니다.contextLoads()응용 프로그램이 Spring 컨텍스트를 성공적으로 로드할 수 있는지 여부를 확인하는 테스트입니다.

sonarqube가 빈 메서드에 대해 불평하는 경우 컨트롤러 또는 서비스가 컨텍스트인지 확인하기 위해 다음과 같은 작업을 수행할 수 있습니다.

@SpringBootTest
public class ApplicationContextTest {

    @Autowired
    private MyController myController;

    @Autowired
    private MyService myService;

    @Test
    public void contextLoads() throws Exception {
        assertThat(myController).isNotNull();
        assertThat(myService).isNotNull();
    }
}

다른 러너를 사용합니다.

을 사용하는 경우SpringRunner.class다음과 같은 대체 방법을 사용합니다.MockitoJUnitRunner.class또는MockitoJunitRunner.class오히려SpringRunner.class

@Runwith(SpringRunner.class)
 @Runwith(JUnit4ClassRunner.class)
 @Runwith(MockitoJUnit4Runner.class)
 @Runwith(MockitoJUnitRunner.class)

언급URL : https://stackoverflow.com/questions/49887939/what-is-the-use-of-contextloads-method-in-spring-boot-junit-testcases

반응형