JUnit 5 - 반복 및 조건부 테스트
반복 가능한 테스트
테스트를 작성할 때 특정 테스트를 여러 번 실행해야 하는 경우가 있을 수 있습니다. 이를 위해 JUnit은 @RepeatedTest
주석을 제공했습니다. 어떻게 사용할 수 있는지 봅시다.
import org.junit.jupiter.api.*;
public class TestManageEmployees {
@DisplayName("Checks the Repeated Tests")
@RepeatedTest(value = 5, name = "Repeating {currentRepetition} of {totalRepetitions}")
public void TestRepeatedTest() {
System.out.println("This is a repetition test");
}
}
보시다시피 @RepeatedTest
에 두 개의 인수를 제공했습니다.
import org.junit.jupiter.api.*;
public class TestManageEmployees {
@DisplayName("Checks the Repeated Tests")
@RepeatedTest(value = 5, name = "Repeating {currentRepetition} of {totalRepetitions}")
public void TestRepeatedTest() {
System.out.println("This is a repetition test");
}
}
>
currentRepetition
및 totalRepetitions
는 JUnit에서 사용하는 키워드입니다. 테스트를 실행하면 다음과 같은 결과가 나타납니다.
터미널의 왼쪽에서 각 반복의 고유한 이름을 볼 수 있고 오른쪽에서 예상한 대로 5번 인쇄된 인쇄 문을 볼 수 있습니다. 예, 테스트를 위한 약간 어리석은 예라는 것을 알고 있지만 개념을 이해하는 한 저는 그것에 만족합니다 😉
조건부 실행
조건부로 테스트를 실행하려는 인스턴스가 있을 수 있습니다. 예를 들어 특정 테스트 사례를 특정 운영 체제에서 실행하려고 할 수 있습니다. 이를 위해 JUnit은 두 가지 주석을 제공했습니다.
@EnabledOnOs
@DisabledOnOs
그들의 사용법을 보자.
@EnabledOnOs
주석
@EnabledOnOs
은 특정 운영 체제에서 테스트 메서드를 실행하려는 경우에 사용됩니다. 다음 코드를 확인하십시오.import org.junit.jupiter.api.condition.EnabledOnOs;
public class TestManageEmployees {
@Test
@DisplayName("Should Be Enabled Only On MAC OS")
@EnabledOnOs(value = OS.MAC, disabledReason = "Test is only enabled on MAC OS")
public void TestEnabledOnOS() {
System.out.println("Tests EnabledOnOs annotation");
}
}
보시다시피
@EnabledOnOs
는 두 가지 인수를 취합니다.Windows를 사용하고 있기 때문에 이 테스트는 내 컴퓨터에서 실행되지 않습니다. 따라서 내 출력은 다음과 같습니다.
@DisabledOnOs
주석
@DisabledOnOs
은 반대입니다. 특정 운영 체제에서 실행하고 싶지 않은 테스트 방법이 있을 때 사용합니다.import org.junit.jupiter.api.condition.DisabledOnOs;
public class TestManageEmployees {
@Test
@DisplayName("Should Be Disabled On Windows")
@DisabledOnOs(value = OS.WINDOWS, disabledReason = "Test is disabled on Windows")
public void TestDisabledOnOS() {
System.out.println("Tests DisabledOnOs annotation");
}
}
@DisabledOnOs
주석도 동일한 두 인수를 취합니다.value
섹션에서 지정한 다른 운영 체제의 터미널에 표시되는 행입니다.위의 테스트는 나에게 출력을 주었다
이것으로 반복 가능하고 조건부 테스트에 대한 자습서를 마무리할 수 있습니다. 테스트 메서드에 매개변수를 전달하는 방법을 알고 싶습니까? 다음 튜토리얼을 확인하세요 - 😋
Reference
이 문제에 관하여(JUnit 5 - 반복 및 조건부 테스트), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/chathurashmini/junit-5-repeated-conditional-tests-18n0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)