2017-12-09 20 views
0

내가 Junit5 중첩 된 클래스에 Junit4 제품군을 변환 한 :Junit5의 모든 중첩 테스트에 가정을 적용하는 방법은 무엇입니까?

class MadvocSuiteTest { 
    @Nested 
    class HelloActionTest extends HelloActionTestBase {} 
    @Nested 
    class SimpleTest extends SimpleTestBase {} 
    ... 
} 

내가 Java9의 세트를 건너 뛰어야 (MultiRelease-항아리 이후 확장 모드에서 작동하지 않습니다).

전체 패키지, 즉 모든 중첩 클래스에 대해 어떻게 수행 할 수 있습니까? 따라서 모든 단일 테스트에 assumeTrue을 추가하지 않으시겠습니까?

답변

1

하나 이상의 JUnit Jupiter 테스트 클래스에서 필요한 기능을 만날 때마다 새 확장 모델을 생각해보십시오. 귀하의 경우 확장 점 Conditional Test Execution입니다.

다음은 Mike Kobit이하고 싶은 것의 예입니다. 자신의 내선을 정의 DisabledOnJava9 좋아 :

@ExtendWith(DisabledOnJava9Condition.class) 
public @interface DisabledOnJava9 {} 

그의 DisabledOnJava9Condition.java 같은 핸들러를. 이제 원하는 요소에 DisabledOnJava9 주석을 사용할 수 있습니다. 여기에는 전체 테스트 클래스 또는 중첩 클래스가 포함됩니다.

여기 마이크에 의해 모든 종류의 원인을 찾기 : https://blog.codefx.org/libraries/junit-5-conditions/

+0

[근무 (https://github.com/oblac/jodd/tree : 여기

https://github.com/mkobit/junit5-conditional-execution-extensions이 확장 점을 구현하는 또 다른 예이다/master/jodd-core/src/test/java/jodd/test). 가정을 추가하는 것도 효과가 있었지만 더 좋았습니다. – igr