JUnit - Bỏ qua kiểm tra
Đôi khi nó xảy ra như vậy là mã của chúng tôi không hoàn toàn sẵn sàng trong khi chạy một trường hợp thử nghiệm. Kết quả là trường hợp thử nghiệm không thành công. Các@Ignore chú thích giúp trong trường hợp này.
Phương thức kiểm tra được chú thích bằng @Ignore sẽ không được thực thi.
Nếu một lớp kiểm tra được chú thích bằng @Ignore, thì sẽ không có phương thức kiểm tra nào được thực thi.
Bây giờ, hãy xem @Ignore hoạt động.
Tạo một lớp học
Tạo một lớp java để được kiểm tra, giả sử, 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;
}
// add "Hi!" to the message
public String salutationMessage(){
message = "Hi!" + message;
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 thức thử nghiệm testPrintMessage () hoặc testSalutationMessage () vào lớp thử nghiệm của bạn.
Thêm Annotaion @Ignore vào phương thức testPrintMessage ().
Tạo tệp lớp java có tên TestJunit.java trong C: \ JUNIT_WORKSPACE.
import org.junit.Test;
import org.junit.Ignore;
import static org.junit.Assert.assertEquals;
public class TestJunit {
String message = "Robert";
MessageUtil messageUtil = new MessageUtil(message);
@Ignore
@Test
public void testPrintMessage() {
System.out.println("Inside testPrintMessage()");
message = "Robert";
assertEquals(message,messageUtil.printMessage());
}
@Test
public void testSalutationMessage() {
System.out.println("Inside testSalutationMessage()");
message = "Hi!" + "Robert";
assertEquals(message,messageUtil.salutationMessage());
}
}
Tạo lớp chạy thử nghiệm
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ẽ không chạy trường hợp thử nghiệm testPrintMessage () đượ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. testPrintMessage () test case không được kiểm tra.
Inside testSalutationMessage()
Hi!Robert
true
Bây giờ, hãy cập nhật TestJunit trong C: \> JUNIT_WORKSPACE để bỏ qua tất cả các trường hợp thử nghiệm. Thêm @Ignore ở cấp lớp.
import org.junit.Test;
import org.junit.Ignore;
import static org.junit.Assert.assertEquals;
@Ignore
public class TestJunit {
String message = "Robert";
MessageUtil messageUtil = new MessageUtil(message);
@Test
public void testPrintMessage() {
System.out.println("Inside testPrintMessage()");
message = "Robert";
assertEquals(message,messageUtil.printMessage());
}
@Test
public void testSalutationMessage() {
System.out.println("Inside testSalutationMessage()");
message = "Hi!" + "Robert";
assertEquals(message,messageUtil.salutationMessage());
}
}
Biên dịch test case bằng javac.
C:\JUNIT_WORKSPACE>javac TestJunit.java
Giữ nguyên Test Runner của bạn như sau:
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ẽ không chạy bất kỳ trường hợp thử nghiệm nào đượ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. Không có trường hợp thử nghiệm nào được kiểm tra.
true