Java: Thực thi các test
Giải phóng thời gian, khai phóng năng lực
Các test case được thực thi bằng cách sử dụng lớp JUnitCore. JUnitCore là một facade để chạy các test. Nó hỗ trợ chạy các test JUnit 4, các test JUnit 3.8.x và các test hỗn hợp. Để chạy test từ dòng lệnh, hãy chạy java org.junit.runner.JUnitCore <TestClass>. Đối với các lần chạy test một lần, hãy sử dụng phương thức tĩnh runClasses(Class[]).
Sau đây là khai báo cho lớp org.junit.runner.JUnitCore:
public class JUnitCore extends java.lang.Object
Ở đây chúng ta sẽ xem cách thực hiện các test với sự trợ giúp của JUnitCore.
Tạo một lớp
Tạo một lớp java mà sẽ được test, chẳng hạn như MessageUtil.java, trong C:\>JUNIT_WORKSPACE.
/* * This class prints the given message on console. */ public class MessageUtil { private String message; //Constructor //@param message to be printed public MessageUtil(String message){ this.message = message; } // prints the message public String printMessage(){ System.out.println(message); return message; } }
Tạo lớp test case
- Tạo một lớp test java, chẳng hạn như TestJunit.java.
- Thêm một phương thức test testPrintMessage() vào lớp test của bạn.
- Thêm annotaion @Test vào phương thức testPrintMessage().
- Triển khai điều kiện test và kiểm tra điều kiện bằng bách sử dụng API assertEquals của JUnit.
Tạo file java có tên TestJunit.java trong C:\>JUNIT_WORKSPACE.
import org.junit.Test; import static org.junit.Assert.assertEquals; public class TestJunit { String message = "Hello World"; MessageUtil messageUtil = new MessageUtil(message); @Test public void testPrintMessage() { assertEquals(message,messageUtil.printMessage()); } }
Tạo lớp TestRunner
Bây giờ, hãy tạo một file java có tên TestRunner.java trong C:\>JUNIT_WORKSPACE để thực thi (các) test. Nó import lớp JUnitCore và sử dụng phương thức runClasses() lấy tên lớp test làm tham số của nó.
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(TestJunit.class); for (Failure failure : result.getFailures()) { System.out.println(failure.toString()); } System.out.println(result.wasSuccessful()); } }
Biên dịch các lớp Test case và Test Runner bằng javac:
C:\JUNIT_WORKSPACE>javac MessageUtil.java TestJunit.java TestRunner.java
Bây giờ hãy chạy Test Runner, nó sẽ chạy test case được xác định trong lớp Test Case đã cung cấp.
C:\JUNIT_WORKSPACE>java TestRunner
Xác minh kết quả đầu ra.
Hello World true
Giải phóng thời gian, khai phóng năng lực