JUnit @예제를 사용한 테스트 주석 무시

때로는 메소드/코드를 실행하지 않아야 하거나 테스트 케이스 코딩이 완전히 완료되지 않았기 때문입니다. 해당 특정 테스트의 경우, JUnit 제공 @무시하다 테스트를 건너뛰도록 주석을 달았습니다.

JUnit @Ignore 테스트 주석

@Ignore 테스트 주석은 빌드 실패를 건너뛰기 위해 특정 테스트 또는 테스트 그룹을 무시하는 데 사용됩니다.

@무시하다 주석은 아래와 같이 두 가지 시나리오에서 사용될 수 있습니다.

  1. 테스트 메서드를 무시하려면 @Test 주석과 함께 @Ignore를 사용하세요.
  2. 클래스의 모든 테스트를 무시하려면 클래스 수준에서 @Ignore 주석을 사용하십시오.

@Ignore 어노테이션에서 제공하는 선택적 매개변수에 테스트를 비활성화하는 이유를 제공할 수 있습니다.

동일한 코드를 작업하는 다른 개발자가 "특정 테스트가 비활성화된 이유"를 이해하는 데 도움이 될 것입니다. 특정 테스트의 문제가 해결되면 간단히 제거하여 활성화할 수 있습니다. @Ignore 주석.

Junit 테스트 예제 – 무시

위의 정의에서 설명한 대로 @Ignore 주석을 사용하여 테스트 또는 테스트 그룹을 무시할 수 있습니다.

간단한 예와 아래 주어진 시나리오를 사용하여 이해해 보겠습니다.

  1. 테스트를 무시하지 않고 간단한 테스트 클래스 만들기.
  2. @Ignore 주석을 사용하여 테스트 메서드를 무시합니다.
  3. 적절한 이유로 @Ignore 주석을 사용하는 테스트 메서드를 무시합니다.
  4. @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를 사용하여 두 테스트를 모두 건너뛰었으므로 콘솔에 명령문이 인쇄되지 않습니다.

요약

이 튜토리얼에서는 @Ignore 주석을 사용하여 단일 테스트, 테스트 그룹 또는 모든 테스트를 무시하는 방법을 배웠습니다.

@무시하다 주석은 아래와 같이 두 가지 시나리오에서 사용될 수 있습니다.

  1. 테스트 메서드를 무시하려면 @Test 주석과 함께 @Ignore를 사용하세요.
  2. 클래스의 모든 테스트를 무시하려면 클래스 수준에서 @Ignore 주석을 사용하십시오.

또한 다른 개발자가 특정 테스트가 비활성화된 이유를 이해할 수 있도록 설명을 제공하는 방법도 배웠습니다.

상세 보기 readmore