문제

PowerMock과 함께 Junit4에서 매개 변수화 된 테스트를 실행하는 방법을 알아 내려고 노력했습니다. 문제는 PowerMock을 사용하려면 테스트 클래스를

@RunWith(PowerMockRunner.class)

그리고 매개 변수화 된 테스트를 사용하려면 장식해야합니다.

@RunWith(Parameterized.class)

내가 볼 수있는 것에서 그들은 서로 배제 된 것처럼 보입니다!? 이것이 사실입니까? 이 주위에 어떤 방법이 있습니까? PowerMock으로 실행되는 클래스 내에서 매개 변수화 된 클래스를 만들려고 노력했습니다. 이 같은:

@RunWith(PowerMockRunner.class)
class MyTestClass {
     @RunWith(Parameterized.class)
     class ParamTestClass {
          // Yadayada
     }
}

그러나 불행히도 이것은별로 좋지 않습니다 ... ParamTestClass 여전히 PowerMock 지원으로 실행되지 않습니다.

업데이트:향후 Googlers는 다음을 참조하십시오. 실행없이 PowerMock을 사용하십니까?

도움이 되었습니까?

해결책

나는 같은 문제가 있었다. 불행히도 JVM으로 인해 PowerMock 규칙을 사용할 수 없습니다. 규칙 대신에 러너 릿트를 사용했습니다.

@RunWith(PowerMockRunner.class)
@PowerMockRunnerDelegate(Parameterized.class)

다른 팁

예, 이것은 PowerMock을 사용하여 작동합니다 규칙 Junit 4.7+를 사용하는 경우 사용 가능합니다.

한 번에 두 개의 클래스 러너를 사용할 수 없으므로이를 수행하기 위해 자신의 테스트 러너를 작성해야합니다.

PowerMock에 대해서는 아무것도 모르겠지만 10 초의 연구 후에는 PowerMock의 클래스 로더를 사용하고 매개 변수화 된 테스트를 실행하는 테스트 러너를 작성하는 것이 하나 인 것 같습니다. 사용자 정의 테스트 러너 내에서 매개 변수화 된 테스트 러너를 위임하는 방법을 알아낼 수 있다면 최선의 방법 일 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top