OK, 따라서 @Ignore
주석은 테스트 케이스가 실행되지 않아야 함을 표시하는 데 적합합니다.JUnit 4의 조건부 테스트 무시
그러나 때때로 런타임 정보를 기반으로 테스트를 무시하고 싶습니다. 예를 들어 특정 개수의 코어가있는 시스템에서 실행해야하는 동시성 테스트가있는 경우 일 수 있습니다. 이 테스트가 단일 프로세서 머신에서 실행 되었다면 테스트를 통과 한 것이 정확하지 않을 것이라고 생각합니다. (실행되지 않았으므로) 테스트를 실패하고 빌드를 중단하는 것은 옳지 않습니다. .
그래서 런타임시 테스트를 무시할 수 있기를 바랍니다. 테스트 프레임 워크는 테스트 프레임 워크가 통과 할 수 있지만 테스트가 실행되지 않았 음을 기록하기 때문에 올바른 결과로 보입니다. 나는 주석이 나에게이 유연성을주지 않을 것이라고 확신한다. 문제의 클래스에 대한 테스트 스위트를 수동으로 생성해야한다고 생각한다. 그러나이 설명서에 대해서는 아무 것도 언급하지 않았으며 API을 통해 보면 프로그래밍 방식으로이 작업을 수행하는 방법이 명확하지 않은 것입니다 (예 : Test
또는 유사하게 @Ignore
주석으로 작성된 인스턴스와 프로그래밍 방식으로 어떻게 만들 수 있습니까?).
누구나 과거에 비슷한 일을 해왔거나 내가 어떻게 다른 일을 할 수 있는지에 대한 밝은 생각을 갖고 있다면 기쁜 마음으로 소식을 듣게 될 것입니다.
@notnoop, 그건 전혀 내 관찰이 아닙니다. 그들은 무시됩니다. IDEA 테스트 주자는 그런 식으로보고합니다. JUnit 소스 코드를 보면 테스트가 무시 된 것으로보고되었음을 알 수 있습니다. – Yishai
인용구 : "미래에는 이것이 변할 수 있으며, 실패한 가정은 테스트가 무시되는 결과를 가져올 수 있습니다." 실제로 4.5라고 믿습니다. 현재의 javadoc은 "기본 JUnit 러너는 실패한 가정을 무시하고 테스트를 처리합니다. 사용자 정의 러너는 다르게 동작 할 수 있습니다." http://github.com/KentBeck/junit/blob/7aac4b19d359285041ccb51d575235339a1a8be0/src/main/java/org/junit/Assume.java – Yishai
고마워, 그게 내가 원하는거야. 'Assume'의 의미는 내가 여기서하려고하는 것과 똑같이 들리므로 주자가 그것을'@ Ignore'라고 취급하지 않는다고해도 나는 적절하게 다루어 질 것이라고 믿는다. –