有没有一种方法可以从测试中访问JUnit的配置参数?

huangapple go评论74阅读模式
英文:

Is there a way to access the Junit configuration parameter from the test

问题

我在以编程方式启动 Junit 测试时,设置了一些属性,如下所示:

LauncherDiscoveryRequestBuilder
        .request()
        .selectors(selectMethod("com.example#testMethod()"))
        .configurationParameter("My_Param","Hello")
        .build()

是否有办法从测试方法中访问 My_Param

英文:

I am setting some properties as below when I launch the Junit Tests programmatically.

    LauncherDiscoveryRequestBuilder
            .request()
            .selectors(selectMethod("com.example#testMethod()"))
            .configurationParameter("My_Param","Hello")
            .build()

Is there a way to access My_Param from the test method?

答案1

得分: 1

我相信您可以使用 ExtensionContext.getConfigurationParameter() 方法。

来自 JUnit 5.1.0 发布说明:

JUnit Jupiter 的扩展现在可以通过 ExtensionContext API 中的新 getConfigurationParameter(String key) 方法在运行时访问 JUnit 平台配置参数。

访问 ExtensionContext 的明显方法是实现一个扩展。

另一种方法是直接在测试中实现生命周期回调之一:

public class YourTest implements BeforeEachCallback {
  @Override
  public void beforeEach(ExtensionContext context) throws Exception {
  }
}
英文:

I believe you can use the ExtensionContext.getConfigurationParameter() method.

From JUnit 5.1.0 release notes:

> Extensions for JUnit Jupiter can now access JUnit Platform configuration parameters at runtime via the new getConfigurationParameter(String key) method in the ExtensionContext API.

The obvious way to access the ExtensionContext would be to implement an extension.

An alternative would be to implement one of the lifecycle callbacks directly in the test:

public class YourTest implements BeforeEachCallback {
  @Override
  public void beforeEach(ExtensionContext context) throws Exception {
  }
}

huangapple
  • 本文由 发表于 2020年10月18日 02:22:43
  • 转载请务必保留本文链接:https://go.coder-hub.com/64405883.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定