JUnit @Ignore Kiểm tra chú thích kèm ví dụ
Đôi khi bạn có thể yêu cầu không thực thi một phương thức/mã hoặc Trường hợp thử nghiệm bởi vì việc mã hóa không được thực hiện đầy đủ. Đối với bài kiểm tra cụ thể đó, JUnit cung cấp @Phớt lờ chú thích để bỏ qua bài kiểm tra.
Là gì JUnit @Ignore chú thích kiểm tra
Chú thích kiểm tra @Ignore được sử dụng để bỏ qua các kiểm tra hoặc nhóm kiểm tra cụ thể nhằm bỏ qua lỗi xây dựng.
@Phớt lờ chú thích có thể được sử dụng trong hai trường hợp như dưới đây:
- Nếu bạn muốn bỏ qua một phương pháp thử nghiệm, hãy sử dụng @Ignore cùng với chú thích @Test.
- Nếu bạn muốn bỏ qua tất cả các bài kiểm tra của lớp, hãy sử dụng chú thích @Ignore ở cấp độ lớp.
Bạn có thể cung cấp lý do vô hiệu hóa thử nghiệm trong tham số tùy chọn được cung cấp bởi chú thích @Ignore.
Nó sẽ giúp các nhà phát triển khác làm việc trên cùng một đoạn mã hiểu được “tại sao một thử nghiệm cụ thể bị vô hiệu hóa?” Khi sự cố của bài kiểm tra cụ thể đó được khắc phục, bạn chỉ cần kích hoạt nó bằng cách xóa @Ignore chú thích.
Ví dụ kiểm tra Junit – Bỏ qua
Như đã thảo luận trong định nghĩa ở trên, bạn có thể sử dụng chú thích @Ignore để bỏ qua một bài kiểm tra hoặc một nhóm bài kiểm tra.
Hãy hiểu nó bằng ví dụ đơn giản và trong các tình huống được đưa ra dưới đây:
- Tạo một lớp kiểm tra đơn giản mà không bỏ qua bài kiểm tra.
- Bỏ qua phương pháp kiểm tra bằng chú thích @Ignore.
- Bỏ qua phương pháp thử nghiệm bằng cách sử dụng chú thích @Ignore với lý do chính đáng.
- Bỏ qua tất cả phương pháp kiểm tra bằng chú thích @Ignore.
Tạo một lớp kiểm tra đơn giản mà không bỏ qua bài kiểm tra
Hãy tạo một cách đơn giản Java class in hai loại thông báo.
- Phương pháp đầu tiên in một thông báo đơn giản và
- Phương pháp thứ hai in thông báo “hi”
JUnitTin nhắn.java
package guru99.junit; public class JUnitMessage { private String message; public JUnitMessage(String message) { this.message = message; } public String printMessage(){ System.out.println(message); return message; } public String printHiMessage(){ message="Hi!"+ message; System.out.println(message); return message; } }
JunitTestExample.java
Hãy tạo ra một JUnit lớp kiểm tra để kiểm tra JUnitTin nhắn.java.
Với JUnit lớp kiểm tra,
- Bài kiểm tra đầu tiên mang tên “kiểm traJUnitMessage()” kiểm tra phương thức “printMessage()” của lớp trên.
- Tương tự bài kiểm tra thứ hai, có tên là “kiểm traJUnitHiMessage” kiểm tra “kiểm traJUnitHiMessage” của lớp trên.
package guru99.junit; import static org.junit.Assert.assertEquals; import org.junit.Test; public class JunitTestExample { public String message = "Guru99"; JUnitMessage junitMessage = new JUnitMessage(message); @Test public void testJUnitMessage() { System.out.println("Junit Message is printing"); assertEquals(message, junitMessage.printMessage()); } @Test public void testJUnitHiMessage() { message="Hi!" +message; System.out.println("Junit Hi Message is printing "); assertEquals(message, junitMessage.printHiMessage()); } }
TestRunner.java
Hãy tạo một lớp chạy thử nghiệm để thực thi JunitTestExample.java
package guru99.junit; 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(JunitTestExample.class); for (Failure failure : result.getFailures()) { System.out.println(failure.toString()); } System.out.println("Result=="+result.wasSuccessful()); } }
Đầu ra:
In câu lệnh trên bảng điều khiển:
Tin nhắn Junit Hi đang được in
Xin chào!Guru99
Tin nhắn Junit đang được in
Guru99
Bỏ qua phương pháp kiểm tra bằng chú thích @Ignore
Hãy tạo bài kiểm tra bỏ qua để vô hiệu hóa bài kiểm tra trong ví dụ trên. Đối với điều này, bạn cần sử dụng @Ignore trong phương thức mà bạn muốn bỏ qua.
Hãy làm điều đó để kiểm traJUnitMessage() của JunitTestExample.java
JunitTestExample.java
package guru99.junit; import static org.junit.Assert.assertEquals; import org.junit.Ignore; import org.junit.Test; public class JunitTestExample { public String message = "Guru99"; JUnitMessage junitMessage = new JUnitMessage(message); @Ignore @Test public void testJUnitMessage() { System.out.println("Junit Message is printing "); assertEquals(message, junitMessage.printMessage()); } @Test public void testJUnitHiMessage() { message="Hi!" +message; System.out.println("Junit Hi Message is printing "); assertEquals(message, junitMessage.printHiMessage()); } }
Đầu ra:
Hãy thực hiện và xác minh đầu ra của ví dụ trên.
Đầu ra bên dưới cho thấy một bài kiểm tra bị bỏ qua (bị vô hiệu hóa), xem như được đánh dấu bên dưới:
In câu lệnh trên bảng điều khiển:
Tin nhắn Junit Hi đang được in
Xin chào!Guru99
Sử dụng chú thích @ bỏ qua với Điều kiện
Hãy lấy ví dụ về cách bỏ qua một bài kiểm tra và xác định lý do bỏ qua cùng với nó. Như đã thảo luận ở trên, để cung cấp lý do, bạn có một tham số tùy chọn trong chú thích @Ignore nơi bạn có thể cung cấp tuyên bố lý do.
JunitTestExample.java
package guru99.junit; import static org.junit.Assert.assertEquals; import org.junit.Ignore; import org.junit.Test; public class JunitTestExample { public String message = "Guru99"; JUnitMessage junitMessage = new JUnitMessage(message); @Ignore("not yet ready , Please ignore.") @Test public void testJUnitMessage() { System.out.println("Junit Message is printing "); assertEquals(message, junitMessage.printMessage()); } @Test public void testJUnitHiMessage() { message="Hi!" +message; System.out.println("Junit Hi Message is printing "); assertEquals(message, junitMessage.printHiMessage()); } }
Đầu ra:
Giống như trên.
Bỏ qua tất cả các phương pháp kiểm tra bằng chú thích @Ignore.
Như đã thảo luận ở trên để bỏ qua tất cả các bài kiểm tra trong lớp, bạn cần sử dụng chú thích @Ignore ở cấp độ lớp.
Hãy sửa đổi ví dụ trên để hiểu cách bỏ qua tất cả các bài kiểm tra:
package guru99.junit; import static org.junit.Assert.assertEquals; import org.junit.Ignore; import org.junit.Test; @Ignore public class JunitTestExample { public String message = "Guru99"; JUnitMessage junitMessage = new JUnitMessage(message); @Test public void testJUnitMessage() { System.out.println("Junit Message is printing "); assertEquals(message, junitMessage.printMessage()); } @Test public void testJUnitHiMessage() { message="Hi!" +message; System.out.println("Junit Hi Message is printing "); assertEquals(message, junitMessage.printHiMessage()); } }
Đầu ra:
In câu lệnh trên bảng điều khiển:
Vì cả hai bài kiểm tra đều bị bỏ qua bằng cách sử dụng @Ignore ở cấp lớp nên không có câu lệnh nào được in trên bảng điều khiển.
Tổng kết
Trong hướng dẫn này, bạn đã học cách bỏ qua một bài kiểm tra, một nhóm bài kiểm tra hoặc tất cả các bài kiểm tra bằng cách sử dụng chú thích @Ignore.
@Phớt lờ chú thích có thể được sử dụng trong hai trường hợp như dưới đây:
- Nếu bạn muốn bỏ qua một phương pháp thử nghiệm, hãy sử dụng @Ignore cùng với chú thích @Test.
- Nếu bạn muốn bỏ qua tất cả các bài kiểm tra của lớp, hãy sử dụng chú thích @Ignore ở cấp độ lớp.
Bạn cũng đã học cách đưa ra tuyên bố để giúp nhà phát triển khác hiểu lý do tại sao một thử nghiệm cụ thể bị vô hiệu hóa.