1. 程式人生 > >junit5 入門系列教程-22-junit5 拓展實體-引數化測試解決方案(Parameter Resolution)

junit5 入門系列教程-22-junit5 拓展實體-引數化測試解決方案(Parameter Resolution)

目錄

ParameterResolver

ParameterResolver 定義用於在執行時動態解析引數的擴充套件API。

如果測試建構函式或@Test、@RepeatedTest、@ParameterizedTest、@TestFactory、@BeforeEach、@BeforeAll或@AfterAll方法接受一個引數,那麼引數必須在執行時由一個引數解析器解析。

注意

由於在JDK 9之前的JDK版本上,javac生成的位元組程式碼中有一個錯誤,因此可以通過核心 java.lang.reflect.Parameter 直接查詢關於引數的註釋對於內部類建構函式(例如,@巢狀測試類中的建構函式) API總是失敗的。

因此,提供給引數解析器實現的ParameterContext API包含以下方便的方法,用於正確查詢關於引數的註釋。強烈建議擴充套件作者使用這些方法,而不是使用
java.lang. reflection.Parameter 中提供的方法。以避免JDK中的這個bug。

  • boolean isAnnotated(Class

系列導航

系列導航