เป็นไปได้ใน JUnit เพื่อยืนยันวัตถุเป็นตัวอย่างของชั้น? ด้วยเหตุผลหลายประการฉันมีวัตถุในการทดสอบของฉันที่ฉันต้องการตรวจสอบประเภทของ มันเป็นประเภทของ Object1 หรือชนิดของ Object2 หรือไม่?
ปัจจุบันฉันมี:
assertTrue(myObject instanceof Object1);
assertTrue(myObject instanceof Object2);
ใช้งานได้ แต่ฉันสงสัยว่ามีวิธีที่แสดงออกมากขึ้นในการทำเช่นนี้
ตัวอย่างเช่น:
assertObjectIsClass(myObject, Object1);
ฉันสามารถทำสิ่งนี้:
assertEquals(myObject.class, Object1.getClass());
มีวิธีการยืนยันที่เฉพาะเจาะจงที่อนุญาตให้ฉันทดสอบวัตถุชนิดใดแบบหนึ่งที่ดูสง่างามกว่า
assertTrueมาก assertTrueจะบอกว่าexpected true got falseHamcrest จะพูดexpected instanced of XYZ, got instance of ABC
assertTrue(myObject instanceof Object1);และassertEquals(myObject.class, Object1.getClass());มีการทดสอบที่แตกต่างกันจริง ๆ ? ครั้งแรกที่ยอมรับ myObject เป็นตัวอย่างของคลาสย่อยของObject1ในภายหลังไม่