0

我正在使用@ParameterizedTest 为测试编写扩展。我的测试看起来像:

@ParameterizedTest
@ValueSource(strings={"string1", "string2"})
public void test1(String name){
    System.out.println(name);
}

在扩展中,如何让 TestDeciptor 找出当前处于活动状态的调用?

public class MyExtension implements BeforeEachCallBack{
   
 @Override
 public void beforeEach(ExtensionContext extensionContext)   
     //  What to do here? extensionContext.?
 }
}
4

1 回答 1

2

正如你所看到的,它的包名org.junit.platform.engine.TestDescriptor不是org.junit.jupiter.api作为其基础包的 JUnit Jupiter API 的一部分。而且,org.junit.platform.engine甚至不是由 API 导入的。

所以可悲的答案是你不能得到测试描述符,至少不能没有一些肮脏和不稳定的反射。但是,我很确定您想要访问的根本原因可以通过不同的方式得到缓解。那么你想要达到什么目标呢?

于 2021-12-08T19:31:01.960 回答