ใน JUnit 5 TestInfo
ทำหน้าที่แทนการดรอปดาวน์สำหรับกฎ TestName จาก JUnit 4
จากเอกสาร:
TestInfo ใช้เพื่อฉีดข้อมูลเกี่ยวกับการทดสอบปัจจุบันหรือคอนเทนเนอร์ลงใน @Test, @RepeatTest, @ParameterizedTest, @TestFactory, @BeforeEach, @AfterEach, @BeforeAll และ @AfterAll
เพื่อดึงชื่อวิธีของการทดสอบดำเนินการในปัจจุบันคุณมีสองตัวเลือก: และ String TestInfo.getDisplayName()
Method TestInfo.getTestMethod()
ที่จะดึงเฉพาะชื่อของวิธีการทดสอบในปัจจุบัน อาจจะไม่เพียงพอเป็นวิธีการทดสอบชื่อที่แสดงเริ่มต้นคือTestInfo.getDisplayName()
การทำซ้ำชื่อเมธอดไม่จำเป็นต้องเป็นความคิดที่ดี methodName(TypeArg1, TypeArg2, ... TypeArg3)
@DisplayName("..")
คุณสามารถใช้
TestInfo.getTestMethod()
สิ่งนั้นคืนค่าOptional<Method>
วัตถุ
หากมีการใช้วิธีเรียกคืนภายในวิธีทดสอบคุณไม่จำเป็นต้องทดสอบOptional
ค่าที่ห่อหุ้มด้วยซ้ำ
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.TestInfo;
import org.junit.jupiter.api.Test;
@Test
void doThat(TestInfo testInfo) throws Exception {
Assertions.assertEquals("doThat(TestInfo)",testInfo.getDisplayName());
Assertions.assertEquals("doThat",testInfo.getTestMethod().get().getName());
}