JUnit @예제를 사용한 테스트 주석 무시
때로는 메소드/코드를 실행하지 않아야 하거나 테스트 케이스 코딩이 완전히 완료되지 않았기 때문입니다. 해당 특정 테스트의 경우, JUnit 제공 @무시하다 테스트를 건너뛰도록 주석을 달았습니다.
JUnit @Ignore 테스트 주석
@Ignore 테스트 주석은 빌드 실패를 건너뛰기 위해 특정 테스트 또는 테스트 그룹을 무시하는 데 사용됩니다.
@무시하다 주석은 아래와 같이 두 가지 시나리오에서 사용될 수 있습니다.
- 테스트 메서드를 무시하려면 @Test 주석과 함께 @Ignore를 사용하세요.
- 클래스의 모든 테스트를 무시하려면 클래스 수준에서 @Ignore 주석을 사용하십시오.
@Ignore 어노테이션에서 제공하는 선택적 매개변수에 테스트를 비활성화하는 이유를 제공할 수 있습니다.
동일한 코드를 작업하는 다른 개발자가 "특정 테스트가 비활성화된 이유"를 이해하는 데 도움이 될 것입니다. 특정 테스트의 문제가 해결되면 간단히 제거하여 활성화할 수 있습니다. @Ignore 주석.
Junit 테스트 예제 – 무시
위의 정의에서 설명한 대로 @Ignore 주석을 사용하여 테스트 또는 테스트 그룹을 무시할 수 있습니다.
간단한 예와 아래 주어진 시나리오를 사용하여 이해해 보겠습니다.
- 테스트를 무시하지 않고 간단한 테스트 클래스 만들기.
- @Ignore 주석을 사용하여 테스트 메서드를 무시합니다.
- 적절한 이유로 @Ignore 주석을 사용하는 테스트 메서드를 무시합니다.
- @Ignore 주석을 사용하는 모든 테스트 방법을 무시합니다.
테스트를 무시하지 않고 간단한 테스트 클래스 만들기
간단하게 만들어보자 Java 두 가지 유형의 메시지를 인쇄하는 클래스입니다.
- 첫 번째 방법은 간단한 메시지를 인쇄하고
- 두 번째 방법은 "hi" 메시지를 인쇄합니다.
JUnit메시지.자바
package guru99.junit; public class JUnitMessage { private String message; public JUnitMessage(String message) { this.message = message; } public String printMessage(){ System.out.println(message); return message; } public String printHiMessage(){ message="Hi!"+ message; System.out.println(message); return message; } }
JunitTestExample.java
를 만들어 보자 JUnit 테스트하는 테스트 클래스 JUnit메시지.java.
이번에 JUnit 테스트 수업,
- 첫 번째 테스트, '테스트'라는 이름JUnitMessage()”는 위 클래스의 “printMessage()” 메소드를 테스트합니다.
- 마찬가지로 "test"라는 두 번째 테스트도 있습니다.JUnitHiMessage' 테스트 '테스트JUnit위 클래스의 HiMessage'를 참조하세요.
package guru99.junit; import static org.junit.Assert.assertEquals; import org.junit.Test; public class JunitTestExample { public String message = "Guru99"; JUnitMessage junitMessage = new JUnitMessage(message); @Test public void testJUnitMessage() { System.out.println("Junit Message is printing"); assertEquals(message, junitMessage.printMessage()); } @Test public void testJUnitHiMessage() { message="Hi!" +message; System.out.println("Junit Hi Message is printing "); assertEquals(message, junitMessage.printHiMessage()); } }
TestRunner.java
JunitTestExample.java를 실행하기 위한 테스트 러너 클래스를 만들어 보겠습니다.
package guru99.junit; import org.junit.runner.JUnitCore; import org.junit.runner.Result; import org.junit.runner.notification.Failure; public class TestRunner { public static void main(String[] args) { Result result = JUnitCore.runClasses(JunitTestExample.class); for (Failure failure : result.getFailures()) { System.out.println(failure.toString()); } System.out.println("Result=="+result.wasSuccessful()); } }
출력:
콘솔에 명령문을 인쇄합니다.
Junit Hi 메시지가 인쇄 중입니다.
안녕하세요!Guru99
Junit 메시지가 인쇄 중입니다.
Guru99
@Ignore 주석을 사용하여 테스트 메서드 무시
위의 예에서 테스트를 비활성화하기 위해 무시 테스트를 만들어 보겠습니다. 이를 위해서는 건너뛰려는 메서드에서 @Ignore를 사용해야 합니다.
테스트용으로 해보자JUnitJunitTestExample.java의 Message()
JunitTestExample.java
package guru99.junit; import static org.junit.Assert.assertEquals; import org.junit.Ignore; import org.junit.Test; public class JunitTestExample { public String message = "Guru99"; JUnitMessage junitMessage = new JUnitMessage(message); @Ignore @Test public void testJUnitMessage() { System.out.println("Junit Message is printing "); assertEquals(message, junitMessage.printMessage()); } @Test public void testJUnitHiMessage() { message="Hi!" +message; System.out.println("Junit Hi Message is printing "); assertEquals(message, junitMessage.printHiMessage()); } }
출력:
위 예제의 출력을 실행하고 확인해 보겠습니다.
아래 출력은 하나의 테스트를 건너뛰었습니다(비활성화됨). 아래 표시를 참조하세요.
콘솔에 명령문을 인쇄합니다.
Junit Hi 메시지가 인쇄 중입니다.
안녕하세요!Guru99
조건과 함께 @ignore 주석 사용
테스트를 무시하고 무시하는 이유를 정의하는 방법에 대한 예를 들어보겠습니다. 위에서 설명한 대로 이유를 제공하기 위해 @Ignore 주석에 이유 설명을 제공할 수 있는 하나의 선택적 매개변수가 있습니다.
JunitTestExample.java
package guru99.junit; import static org.junit.Assert.assertEquals; import org.junit.Ignore; import org.junit.Test; public class JunitTestExample { public String message = "Guru99"; JUnitMessage junitMessage = new JUnitMessage(message); @Ignore("not yet ready , Please ignore.") @Test public void testJUnitMessage() { System.out.println("Junit Message is printing "); assertEquals(message, junitMessage.printMessage()); } @Test public void testJUnitHiMessage() { message="Hi!" +message; System.out.println("Junit Hi Message is printing "); assertEquals(message, junitMessage.printHiMessage()); } }
출력:
같은 상기와.
@Ignore 주석을 사용하는 모든 테스트 방법을 무시합니다.
위에서 설명한 것처럼 클래스의 모든 테스트를 무시하려면 클래스 수준에서 @Ignore 주석을 사용해야 합니다.
모든 테스트를 무시하는 방법을 이해하기 위해 위의 예를 수정해 보겠습니다.
package guru99.junit; import static org.junit.Assert.assertEquals; import org.junit.Ignore; import org.junit.Test; @Ignore public class JunitTestExample { public String message = "Guru99"; JUnitMessage junitMessage = new JUnitMessage(message); @Test public void testJUnitMessage() { System.out.println("Junit Message is printing "); assertEquals(message, junitMessage.printMessage()); } @Test public void testJUnitHiMessage() { message="Hi!" +message; System.out.println("Junit Hi Message is printing "); assertEquals(message, junitMessage.printHiMessage()); } }
출력 :
콘솔에 명령문을 인쇄합니다.
클래스 수준에서 @Ignore를 사용하여 두 테스트를 모두 건너뛰었으므로 콘솔에 명령문이 인쇄되지 않습니다.
요약
이 튜토리얼에서는 @Ignore 주석을 사용하여 단일 테스트, 테스트 그룹 또는 모든 테스트를 무시하는 방법을 배웠습니다.
@무시하다 주석은 아래와 같이 두 가지 시나리오에서 사용될 수 있습니다.
- 테스트 메서드를 무시하려면 @Test 주석과 함께 @Ignore를 사용하세요.
- 클래스의 모든 테스트를 무시하려면 클래스 수준에서 @Ignore 주석을 사용하십시오.
또한 다른 개발자가 특정 테스트가 비활성화된 이유를 이해할 수 있도록 설명을 제공하는 방법도 배웠습니다.