JUnit - Cách sử dụng cơ bản
Bây giờ chúng ta hãy xem một ví dụ cơ bản để chứng minh quy trình từng bước sử dụng JUnit.
Tạo một lớp học
Tạo một lớp java để được kiểm tra, 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 trường hợp thử nghiệm
- Tạo một lớp thử nghiệm java, chẳng hạn như TestJunit.java.
- Thêm một phương pháp thử 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 khẳng định của JUnit.
Tạo tên tệp lớp java 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 chạy thử nghiệm
- 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 trường hợp thử nghiệm chạy trong Đối tượng Kết quả.
- Nhận (các) lỗi bằng cách sử dụng phương thức getFailures () của đối tượng Kết quả.
- Nhận kết quả Thành công bằng phương thức wasSuccessful () của đối tượng Result.
Tạo tệp lớp java có tên TestRunner.java trong C:\>JUNIT_WORKSPACE để thực thi (các) trường hợp thử nghiệm.
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ờ chạy Test Runner, sẽ chạy trường hợp thử nghiệm đượ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ờ hãy 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 Trình chạy thử nghiệm.
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ờ chạy Test Runner, sẽ chạy trường hợp thử nghiệm đượ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