1

我正在将基于 JUnit 4 的内部工具升级到 JUnit 5。因此我必须为测试执行编写一个扩展。扩展的任务应该是确保外部应用程序的正确状态(如果它没有运行则启动它等)。要执行此任务,需要几个参数(来自命令行)。

我可以将这些参数存储在扩展上下文中吗?如果是这样,我如何在实际测试开始之前访问它?

4

1 回答 1

1

我可以将这些参数存储在扩展上下文中吗?

可以,但更好的选择是将它们作为“配置参数”访问——例如,通过org.junit.jupiter.api.extension.ExtensionContext.getConfigurationParameter(String).

如果是这样,我如何在实际测试开始之前访问它?

您可以通过上述ExtensionContext.getConfigurationParameter(String)方法在BeforeAllCallback扩展程序中访问它们。

如果您希望在所有测试类之前执行该自定义扩展,而无需用户显式注册扩展,您可以自动注册扩展。有关详细信息,请参阅用户指南

于 2018-09-14T12:20:17.857 回答