如何替换 Junit5 中的 DropwizardAppRule

How do I replace DropwizardAppRule in Junit5

在 Junit 4 中我可以做类似的事情

@ClassRule
public DropwizardAppRule<Configuration> app = new DropwizardAppRule<>(MyApp.class);

...

app.getLocalPort()

如何在 Junit 5 中复制此行为?从 this github 问题看来我需要使用 @ExtendWith(DropwizardExtensionsSupport.class),但不清楚如何使用

Dropwizard 1.3.0 added JUnit5 support by introducing the DropwizardExtensionsSupport class

具体来说,如果您需要在测试开始/结束时启动/停止应用程序(DropwizardAppRule 所做的),可以使用 DropwizardAppExtension

你的例子,为 JUnit5 重写:

@ExtendWith(DropwizardExtensionsSupport.class)
public class MyTest {

    public static final DropwizardAppExtension<Config> app = new DropwizardAppExtension<>(MyApp.class);

    ...

       // app.getLocalPort() is also available

}

遗憾的是,JUnit5 支持 doesn't seem to be documented yet

链接: