假设我有一个抽象超类和一个用于测试子类的抽象测试类。
abstract class Superclass {
}
@RequiredArgsConstructor
abstract class SuperclassTest<T extends Superclass> {
SuperclassTest(Class<T> typeClass) {
super();
this.typeClass = typeClass;
}
@Nested
class ToStringTest {
@Test
void _NotBlank_NewInstance() {
String string = newInstance().toString();
assertThat(string).isNotBlank();
}
}
final Class<T> typeClass;
}
现在,我如何覆盖嵌套的测试类/方法来禁用或修改?
class SomeTest extends SuperclassTest<Some> {
SomeTest() {
super(Some.class)
}
// How can I disable or change ToStringTest#_NotBlank_NewInstance?
}
如果需要扩展
ToStringTest
中的内部类SomeTest
并重写方法_NotBlank_NewInstance()
,则可以SomeToStringTest
在 中创建一个子类SomeTest
并使其扩展SuperclassTest.ToStringTest
。此时,您可以_NotBlank_NewInstance()
使用所需的行为进行重写。我将根据已接受的答案提出自己的答案。