如何在Junit5中替换DropwizardAppRule

时间:2018-09-13 19:36:41

标签: java dropwizard junit5 junit-rule

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

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

...

app.getLocalPort()

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

1 个答案:

答案 0 :(得分:6)

Dropwizard 1.3.0 added通过引入DropwizardExtensionsSupport class对JUnit5的支持。

具体来说,如果您需要在测试的开始/结束时启动/停止应用程序(这是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

链接: