복붙노트

[SPRING] 이것은 무엇을 하는가 : @RunWith (SpringJUnit4ClassRunner.class)

SPRING

이것은 무엇을 하는가 : @RunWith (SpringJUnit4ClassRunner.class)

이 특수 효과는 무엇을합니까?  언제 그것을 사용하고 싶습니까?   언제 그것을 사용하고 싶지 않습니까?

@RunWith(SpringJUnit4ClassRunner.class)

Google에서이 기능을 더 많이 사용할 수 있으며이 주석이 나와 통신 할 때 또는 사용시기 / 이유에 대한 101 가지 설명을 찾지 못했습니까?

해결법

  1. ==============================

    1.주석은 Spring의 의존성 주입을 필요로하는 단위 테스트를 구성하는 데 사용됩니다.

    주석은 Spring의 의존성 주입을 필요로하는 단위 테스트를 구성하는 데 사용됩니다.

    Spring Reference에서 10. 단위 테스트 :

  2. ==============================

    2.XML 파일이 아닌 주석을 사용하고 있다면, @ContextConfiguration 주석에 Spring 종속성 주입이 필요한 단위 테스트 클래스가 필요합니다. 예 :

    XML 파일이 아닌 주석을 사용하고 있다면, @ContextConfiguration 주석에 Spring 종속성 주입이 필요한 단위 테스트 클래스가 필요합니다. 예 :

    @RunWith(SpringJUnit4ClassRunner.class)
    @ContextConfiguration(classes = FooHarness.class)
    class FooHarnessTest {
    
        @Autowired
        FooHarness fooHarness 
    

    이제 유닛 테스트에서 fooHarness를 사용할 때 Spring 컨텍스트 설정을 갖습니다. fooHarness가 주입하는 모든 콩도 설정됩니다.

    fooHarness가 주입하는 빈이 state를 포함한다면, 각 테스트마다 빈의 상태를 리셋하려고 할 것입니다. 이 경우 @DirtiesContext 주석을 테스트 클래스에 추가 할 수 있습니다.

    @DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD)
    

    fooHarness 또는 삽입 된 빈이 Spring 설정을 읽는 경우 ConfigFileApplicationContextInitializer 클래스를 포함하는 @ContextConfiguration 주석에 이니셜 라이저 목록을 추가해야합니다.

    @ContextConfiguration(classes = FooHarness.class, initializers = ConfigFileApplicationContextInitializer.class)
    
  3. from https://stackoverflow.com/questions/25317009/what-does-this-do-runwithspringjunit4classrunner-class by cc-by-sa and MIT license