我正在将基于JUnit 4的内部工具升级到JUnit 5.因此,我必须为测试执行编写扩展 . 扩展的任务应该是确保外部应用程序的正确状态(如果它没有运行则启动它) . 要执行此任务,需要多个参数(来自命令行) .
我可以在扩展上下文中存储这些参数吗?如果是这样,我怎样才能在实际测试开始之前访问它?
我可以在扩展上下文中存储这些参数吗?
你可以,但更好的选择就是将它们作为"configuration parameters"来访问 - 例如,通过 org.junit.jupiter.api.extension.ExtensionContext.getConfigurationParameter(String) .
org.junit.jupiter.api.extension.ExtensionContext.getConfigurationParameter(String)
如果是这样,我怎样才能在实际测试开始之前访问它?
您可以通过前面提到的 ExtensionContext.getConfigurationParameter(String) 方法在 BeforeAllCallback 扩展名中访问它们 .
ExtensionContext.getConfigurationParameter(String)
BeforeAllCallback
如果您希望在 all 测试类之前执行自定义扩展而无需用户明确注册扩展,则可以自动注册扩展 . 有关详细信息,请参阅User Guide .
1 回答
你可以,但更好的选择就是将它们作为"configuration parameters"来访问 - 例如,通过
org.junit.jupiter.api.extension.ExtensionContext.getConfigurationParameter(String)
.您可以通过前面提到的
ExtensionContext.getConfigurationParameter(String)
方法在BeforeAllCallback
扩展名中访问它们 .如果您希望在 all 测试类之前执行自定义扩展而无需用户明确注册扩展,则可以自动注册扩展 . 有关详细信息,请参阅User Guide .