我有一堆使用
@MethodSource
接收参数的@ParameterizedTest
,这些参数在toString()
中返回冗长的结果(例如Selenium的WebDriver
)。默认情况下,这些用于组成相应的显示名称。根据JUnit 5用户指南:
尽管这允许以一定程度上自定义显示名称,但似乎我无法适应单个参数的字符串表示形式。不幸的是,通过默认情况下,参数化测试调用的显示名称包含调用索引和该特定调用的所有参数的字符串表示形式。但是,您可以通过
@ParameterizedTest
注释的name
属性自定义调用显示名称[...]。
@DisplayNameGeneration
指定生成器只能应用在类级别,并且不影响参数化测试调用的显示名称。有没有办法在@ParameterizedTest
中使用DisplayNameGenerator
,或者自定义给定参数的字符串表示形式?
(name = "{index}: {0}")
can be skipped when usingNamed
- Thánh MaStream.of(arguments(named("cool name", "first input"), "second input"))
和@ParameterizedTest(name = "{0}")
。 - Domadin