우리는 이미 다음과 같은 내용에 익숙합니다. JUnit 테스트 프레임워크 . Java에서 단위 테스트를 수행하는 데 사용됩니다. JUnit 테스트 케이스는 프로그램 코드가 예상대로 작동하는지 여부를 확인하는 코드 세트입니다.
~ 안에 자바 , 단위 테스트에는 수동 테스트와 자동 테스트의 두 가지 유형이 있습니다. 수동 테스트는 도구를 사용하지 않고 테스트 사례를 실행하는 특별한 유형의 테스트입니다. 수동 테스트와 달리 자동화된 테스트는 도구를 지원하지 않으면 불가능합니다.
그만큼 org.junit 패키지는 코드가 예상한 출력을 제공하는지 여부를 확인하는 데 도움이 되는 여러 클래스와 패키지를 제공합니다. 이러한 패키지와 클래스는 Assert, After, Before 및 Test 등입니다.
Eclipse 도구를 사용하여 Java 코드를 테스트하겠습니다. 먼저 테스트하려는 Java 코드를 생성한 다음 Java 코드에 대한 테스트 클래스 또는 테스트 케이스를 작성합니다.
Java에서 실제로 테스트가 수행되는 방식을 이해하기 위해 JUnit 테스트 사례의 예를 살펴보겠습니다.
JunitTestCaseExample.java
package JavaTpoint. JunitExamples; import java.util.ArrayList; import java.util.List; public class JunitTestCaseExample { private List students = new ArrayList(); public void remove(String name) { students.remove(name); } public void add(String name) { students.add(name); } public void removeAll(){ students.clear(); } public int sizeOfStudent() { return students.size(); } }
TestJunitTestCaseExample.java
package JavaTpoint.JunitExamples; import static org.junit.Assert.assertEquals; import org.junit.Test; public class TestJunitTestCaseExample { JunitTestCaseExample obj = new JunitTestCaseExample(); @Test public void testAdd() { obj.add('Emma'); obj.add('Ronan'); obj.add('Antonio'); obj.add('Paul'); assertEquals('Adding 4 student to list', 4, obj.sizeOfStudent()); } @Test public void testSize() { obj.add('Emma'); obj.add('Ronan'); obj.add('Antonio'); assertEquals('Checking size of List', 3, obj.sizeOfStudent()); } @Test public void testRemove() { obj.add('Antonio'); obj.add('Paul'); obj.remove('Paul'); assertEquals('Removing 1 student from list', 1, obj.sizeOfStudent()); } @Test public void removeAll() { obj.removeAll(); } }
TestRunner.java
package JavaTpoint.JunitExamples; import org.junit.runner.Result; import org.junit.runner.JUnitCore; import org.junit.runner.notification.Failure; public class TestRunner { public static void main(String[] args) { Result result = JUnitCore.runClasses(TestJunitTestCaseExample.class); for (Failure fail : result.getFailures()) { System.out.println(fail.toString()); } System.out.println(result.wasSuccessful()); } }
설명
우리는 세 가지 Java 클래스를 만들었습니다. JunitTestCaseExample.java, TestJunitTestCaseExample.java , 그리고 테스트러너 .자바. 에서 JunitTestCaseExample.java 클래스에서 테스트하려는 코드를 만들었습니다. 이 클래스에서는 이름 목록과 요소 추가, 요소 제거, 목록 크기 가져오기 및 목록에서 모든 요소 제거를 위한 네 가지 메서드를 만듭니다.
에서 TestJunitTestCaseExample.java , JunitTestCaseEample.java 클래스에 대한 테스트 케이스를 작성합니다. 우리는 JunitTestCaseExample.java 클래스를 사용하고 해당 개체를 사용하여 모든 메서드를 테스트합니다. 우리는 주장Equals() 예상 출력으로 실제 결과를 확인하는 방법입니다.
테스트 케이스를 실행하기 위해 TestRunner.java 클래스를 생성합니다. 여기에는 JUnitCore의 runClasses() 메서드를 사용하여 TestJunitTestCaseExample.java 클래스를 실행하는 main() 메서드가 포함되어 있습니다. 이 메소드에서는 TestJunitTestCaseExample.java의 클래스 파일을 전달합니다. runClasses() 메소드에 의해 반환된 결과는 Result 유형의 결과 변수에 저장됩니다.
이제 TestRunner.java 클래스를 실행하여 테스트 케이스를 실행하겠습니다. 테스트 케이스가 통과되면 true가 출력되고, 테스트 케이스가 통과되지 않으면 false가 출력됩니다.
산출