Assertequals là gì

  • Junit Assert là gì?
  • Phương thức JUnit Assert
    • Boolean
    • Đối tượng rỗng
    • Giống hệt nhau
    • Khẳng định bằng
    • Khẳng định mảng bằng
    • Thông báo không thành công
  • JUnit khẳng địnhEquals
  • Xác nhận dấu chấm động
  • Ví dụ về JUnit Assert
  • Bản tóm tắt:

Assert là một phương thức hữu ích trong việc xác định trạng thái Đạt hoặc Không đạt của một trường hợp thử nghiệm, Các phương thức khẳng định được cung cấp bởi lớp org.junit.Assert mở rộng lớp java.lang.Object.

Có nhiều loại xác nhận khác nhau như Boolean, Null, Identical, v.v.

Junit cung cấp một lớp có tên là Assert, lớp này cung cấp một loạt các phương thức xác nhận hữu ích trong việc viết các trường hợp kiểm thử và để phát hiện lỗi kiểm tra

Các phương thức khẳng định được cung cấp bởi lớp org.junit.Assert mở rộng java.lang.Object lớp.

Trong hướng dẫn này, bạn sẽ học-

Phương thức JUnit Assert

Boolean

Nếu bạn muốn kiểm tra các điều kiện boolean (đúng hoặc sai), bạn có thể sử dụng các phương pháp xác nhận sau

  1. assertTrue(condition)
  2. assertFalse(condition)

Ở đây điều kiện là một giá trị boolean.

Đối tượng rỗng

Nếu bạn muốn kiểm tra giá trị ban đầu của một đối tượng / biến, bạn có các phương pháp sau:

  1. assertNull(object)
  2. assertNotNull(object)

Đối tượng đây là đối tượng Java e.g. khẳng địnhNull (thực tế);

Giống hệt nhau

Nếu bạn muốn kiểm tra xem các đối tượng có giống hệt nhau (tức là so sánh hai tham chiếu đến cùng một đối tượng java) hay khác nhau.

  1. assertSame(expected, actual), Nó sẽ trả về true nếu expected == actual
  2. assertNotSame(expected, actual)

Khẳng định bằng

Nếu bạn muốn kiểm tra sự bằng nhau của hai đối tượng, bạn có các phương pháp sau

  • assertEquals(expected, actual)

Nó sẽ trả về true nếu: expected.equals( actual ) trả về true.

Khẳng định mảng bằng

Nếu bạn muốn kiểm tra tính bình đẳng của các mảng, bạn có các phương pháp sau như được cung cấp bên dưới:

  • assertArrayEquals(expected, actual)

Phương thức trên phải được sử dụng nếu các mảng có cùng độ dài, với mỗi giá trị hợp lệ cho ibạn có thể kiểm tra nó như được cung cấp bên dưới:

  • assertEquals(expected[i],actual[i])
  • assertArrayEquals(expected[i],actual[i])

Thông báo không thành công

Nếu bạn muốn loại bỏ bất kỳ lỗi xác nhận nào, bạn có fail() điều đó luôn dẫn đến kết quả không thành công.

Bạn có thể có phương thức xác nhận với một bổ sung String tham số làm tham số đầu tiên. Chuỗi này sẽ được thêm vào trong thông báo lỗi nếu xác nhận không thành công. Ví dụ fail( message ) có thể được viết như

  • assertEquals( message, expected, actual)

JUnit khẳng địnhEquals

Bạn có assertEquals(a,b) dựa vào equals() phương thức của lớp Đối tượng.

  • Ở đây nó sẽ được đánh giá là a.equals( b ).
  • Ở đây, lớp được kiểm tra được sử dụng để xác định một quan hệ bình đẳng phù hợp.
  • Nếu một lớp không ghi đè equals() phương pháp của Object lớp học, nósẽ nhận được hành vi mặc định của equals() phương thức, tức là nhận dạng đối tượng.

Nếu ab là những nguyên thủy chẳng hạn như byte, int, booleanv.v. thì những điều sau sẽ được thực hiện đối với khẳng định Equals (a, b):

ab sẽ được chuyển đổi thành loại đối tượng trình bao bọc tương đương của chúng (Byte,Integer, Booleanv.v.), và sau đó a.equals( b ) sẽ được đánh giá.

Ví dụ: Hãy xem xét các chuỗi được đề cập bên dưới có cùng giá trị, hãy kiểm tra nó bằng cách sử dụng khẳng định

String obj1="Junit"; String obj2="Junit"; assertEquals(obj1,obj2);

Câu lệnh khẳng định ở trên sẽ trả về true như obj1.equals (obj2) trả về true.

Xác nhận dấu chấm động

Khi bạn muốn so sánh các kiểu dấu phẩy động (ví dụ: double hoặc float), bạn cần một tham số bắt buộc bổ sung delta để tránh các vấn đề với lỗi làm tròn khi thực hiện so sánh dấu phẩy động.

Xác nhận đánh giá như được đưa ra dưới đây:

  • Math.abs( expected – actual ) <= delta

Ví dụ:

assertEquals( aDoubleValue, anotherDoubleValue, 0.001 )

Ví dụ về JUnit Assert

Ví dụ dưới đây trình bày cách xác nhận một điều kiện bằng cách sử dụng các phương thức khẳng định JUnit.

Hãy tạo một lớp thử nghiệm đơn giản có tên Junit4AssertionTest.java và một lớp vận động viên thử nghiệm TestRunner.java.

Bạn sẽ tạo một vài biến và các câu lệnh khẳng định quan trọng trong JUnit.

Trong ví dụ này, bạn sẽ thực thi lớp thử nghiệm của chúng tôi bằng TestRunner.java

Step 1) Cho phép tạo một lớp bao gồm tất cả các phương thức câu lệnh khẳng định quan trọng trong junit:

Junit4AssertionTest.java

package guru99.junit; import static org.junit.Assert.*; import org.junit.Test; public class Junit4AssertionTest { @Test public void testAssert(){ //Variable declaration String string1="Junit"; String string2="Junit"; String string3="test"; String string4="test"; String string5=null; int variable1=1; int variable2=2; int[] airethematicArrary1 = { 1, 2, 3 }; int[] airethematicArrary2 = { 1, 2, 3 }; //Assert statements assertEquals(string1,string2); assertSame(string3, string4); assertNotSame(string1, string3); assertNotNull(string1); assertNull(string5); assertTrue(variable1Step 2) Bạn cần tạo một lớp chạy thử nghiệm để thực thi lớp trên:

TestRunner.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(Junit4AssertionTest.class); for (Failure failure : result.getFailures()) { System.out.println(failure.toString()); } System.out.println("Result=="+result.wasSuccessful()); } }

Step 3) Cho phép phân tích sản lượng mong đợi từng bước:

Hãy xem xét lần lượt tất cả các câu khẳng định:

  1. assertEquals(string1,string2);

Bây giờ hãy so sánh string1 = Junit string2 = Junit bằng phương thức của lớp đối tượng. Thay thế phương thức khẳng địnhEquals từ phương thức java.lang.Object.equals ():

string1.equals (string2) => trả về true

Vì vậy, khẳng địnhEquals (string1, string2) sẽ trả về true.

  1. assertSame(string3, string4);

assertSame()ality là để kiểm tra xem hai đối tượng có tham chiếu đến cùng một đối tượng hay không.

Vì string3 = test và string4 = test cả string3 và string4 đều thuộc cùng một loại, vì vậy, khẳng địnhSame (string3, string4) sẽ trả về true.

  1. assertNotSame(string1, string3);

assertNotSame()ality là để kiểm tra xem hai đối tượng không tham chiếu đến cùng một đối tượng.

Vì string1 = Junit và string3 = test cả string1 và string3 đều thuộc các kiểu khác nhau, do đó, khẳng địnhNotSame (string1, string3) sẽ trả về true.

  1. assertNotNull(string1);

assertNotNull()ality là để kiểm tra xem một đối tượng không phải là null.

Vì string1 = Junit là một giá trị không phải null vì vậy khẳng địnhNotNull (string1) sẽ trả về true.

  1. assertNull(string5);

assertNull()ality là để kiểm tra xem một đối tượng là null.

Vì string5 = null là một giá trị null nên khẳng địnhNull (string5) sẽ trả về true.

  1. assertTrue(variable1

assertTrue()ality là để kiểm tra xem một điều kiện là đúng.

Vì biến1 = 1 và biến2 = 2, điều này cho thấy điều kiện biến1 true.

  1. assertArrayEquals(airethematicArrary1, airethematicArrary2);

assertArrayEquals()ality là để kiểm tra xem mảng mong đợi và mảng kết quả có bằng nhau không. Loại Mảng có thể là int, long, short, char, byte hoặc java.lang.Object.

Vì airethematicArrary1 = {1, 2, 3} và airethematicArrary2 = {1, 2, 3} cho thấy cả hai mảng đều bằng nhau nên khẳng địnhArrayEquals (airethematicArrary1, airethematicArrary2) sẽ trả về true

Vì tất cả bảy tuyên bố khẳng định của Junit4AssertionTest.java lớp trả về true, do đó khi bạn thực thi lớp khẳng định kiểm tra, nó sẽ trả về một bài kiểm tra thành công. (xem đầu ra bên dưới)

Step 4) Nhấp chuột phải vào Junit4AssertionTest.java và nhấp vào runAs-> JUnit. Bạn sẽ thấy kết quả như bên dưới:

Đầu ra trên cho thấy một kết quả thử nghiệm thành công như mong đợi.

Bản tóm tắt:

Trong hướng dẫn này, bạn đã học được tất cả các loại phương thức xác nhận quan trọng do JUnit cung cấp. Ngoài ra, bạn đã thấy các ví dụ về câu lệnh khẳng định. Điều này cho thấy rằng nếu tất cả các câu lệnh khẳng định đều trả về true, thì GUI kiểm tra sẽ trả về kết quả true và nếu kiểm tra đơn lẻ không thành công, nó sẽ trả về kết quả không thành công.