Java: Cách sử dụng cơ bản
Bây giờ chúng ta hãy xem một ví dụ cơ bản để nắm được quy trình từng bước của việc sử dụng JUnit.
Tạo một lớp
Tạo một lớp java để được kiểm thử, chẳng hạn như MessageUtil.java trong C:\> JUNIT_WORKSPACE
/* * Lớp này sẽ in thông tin ra console. */ public class MessageUtil { private String message; //Constructor //@param message to be printed public MessageUtil(String message){ this.message = message; } // in thông báo public String printMessage(){ System.out.println(message); return message; } }
Tạo lớp test case
- Tạo một lớp thử nghiệm java, chẳng hạn như TestJunit.java.
- Thêm một phương thức thử nghiệm là testPrintMessage() vào lớp thử nghiệm của bạn.
- Thêm Annotaion @Test vào phương thức testPrintMessage().
- Triển khai điều kiện thử nghiệm và kiểm tra điều kiện bằng API assertEquals của JUnit.
Tạo một file java class 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 test runner
- Tạo một lớp java TestRunner.
- Sử dụng phương thức runClasses của lớp JUnitCore của JUnit để chạy test case của lớp test đã tạo ở trên.
- Nhận kết quả của các test case được chạy trong đối tượng Result.
- Nhận (các) lỗi bằng cách sử dụng phương thức getFailures() của đối tượng Result.
- Nhận kết quả Success bằng cách sử dụng phương thức wasSuccessful() của đối tượng Result.
Tạo file java có tên TestRunner.java trong C:\>JUNIT_WORKSPACE để thực thi (các) test case.
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 MessageUtil, 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
Bây giờ cập nhật TestJunit trong C:\>JUNIT_WORKSPACE để kiểm tra không thành công. Thay đổi chuỗi thông báo.
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() { message = "New Word"; assertEquals(message,messageUtil.printMessage()); } }
Hãy giữ nguyên phần còn lại của các lớp và cố gắng chạy cùng một Test Runner.
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()); } }
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 testPrintMessage(TestJunit): expected:<[New Wor]d> but was:<[Hello Worl]d> false