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