คำเตือน: เมธอด assertEquals จากประเภท Assert เลิกใช้แล้ว


160

เนื่องจากวิธีการAssert.assertEqualsเลิกใช้เราควรใช้วิธีใดในตอนนี้

รหัสต่อไปนี้:

String arg1 = "test";
String arg2 = "me";

Assert.assertEquals(arg1, arg2);

ให้คำเตือนต่อไปนี้:

เครื่องหมายหลายอันในบรรทัดนี้

  • เมธอด assertEquals (String, String) จากประเภท Assert นั้นเลิกใช้แล้ว
  • ประเภท Assert เลิกใช้แล้ว

4
ความซ้ำซ้อนที่เป็นไปได้ของความแตกต่างระหว่าง 2 JUnit Assert คลาส
Joe

คำตอบ:


316

คุณกำลังใช้แทนjunit.framework.Assertorg.junit.Assert


16
ขอบคุณ .... ฉันรู้ว่าในภายหลังหลังจากที่โพสต์ข้อความนี้ .... ฉันยังคิดว่ามันมีค่ารวมถึงคำถามและคำตอบที่นี่เนื่องจากอาจปรากฏขึ้นสำหรับผู้อื่นและตอนนี้พวกเขาจะพบสิ่งนี้เมื่อพวกเขา google
Brad Parks

3
คำตอบสำหรับคำถามที่เชื่อมโยงข้างต้นนี้ให้บริบทเพิ่มเติมบางอย่าง
Joshua Goldberg

4
สำหรับคนในอนาคตที่พบว่ามีประโยชน์เช่นนี้โปรดอย่าแสดงความคิดเห็นขอบคุณ - เพียงโหวตคำถามและคำตอบ meta.stackexchange.com/questions/126180/…มันไม่ใช่เรื่องใหญ่ แต่เราไม่ต้องการให้คำตอบนี้ยุ่งเหยิง
Jeutnarg

44

วิธีนี้ยังพบคำเตือนที่ไม่แน่นอน:

org.junit.Assert.assertEquals(float expected,float actual) //deprecated

เป็นเพราะในปัจจุบัน Junit ต้องการพารามิเตอร์ที่สามมากกว่าเพียงแค่ป้อนตัวแปรลอยสองตัว

พารามิเตอร์ที่สามคือเดลต้า:

public static void assertEquals(double expected,double actual,double delta) //replacement

ส่วนใหญ่จะใช้ในการจัดการกับการคำนวณจุดลอยตัวที่ไม่ถูกต้อง

สำหรับข้อมูลเพิ่มเติมโปรดอ้างอิงปัญหานี้: ความหมายของอาร์กิวเมนต์ epsilon ของ assertEquals สำหรับค่าสองค่า


0

เมื่อฉันใช้ Junit4 ให้นำเข้า junit.framework.Assert; นำเข้า junit.framework.TestCase; ข้อมูลคำเตือนคือ: ประเภท Assert เลิกใช้แล้ว

เมื่อนำเข้าเช่นนี้: import org.junit.Assert; นำเข้า org.junit.Test; คำเตือนหายไป

อาจมีความซ้ำซ้อนของความแตกต่างระหว่าง 2 JUnit Assert

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.