我正在将基于 JUnit 4 的内部工具升级到 JUnit 5。因此我必须为测试执行编写一个扩展。扩展的任务应该是确保外部应用程序的正确状态(如果它没有运行则启动它等)。要执行此任务,需要几个参数(来自命令行)。
我可以将这些参数存储在扩展上下文中吗?如果是这样,我如何在实际测试开始之前访问它?
我正在将基于 JUnit 4 的内部工具升级到 JUnit 5。因此我必须为测试执行编写一个扩展。扩展的任务应该是确保外部应用程序的正确状态(如果它没有运行则启动它等)。要执行此任务,需要几个参数(来自命令行)。
我可以将这些参数存储在扩展上下文中吗?如果是这样,我如何在实际测试开始之前访问它?
我可以将这些参数存储在扩展上下文中吗?
您可以,但更好的选择是将它们作为“配置参数”访问——例如,通过org.junit.jupiter.api.extension.ExtensionContext.getConfigurationParameter(String)
.
如果是这样,我如何在实际测试开始之前访问它?
您可以通过上述ExtensionContext.getConfigurationParameter(String)
方法在BeforeAllCallback
扩展程序中访问它们。
如果您希望在所有测试类之前执行该自定义扩展,而无需用户显式注册扩展,您可以自动注册扩展。有关详细信息,请参阅用户指南。