7

In Junit 4 I could do something like

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

...

app.getLocalPort()

How do I replicate this behavior in Junit 5? From this github issue it seems like I need to use @ExtendWith(DropwizardExtensionsSupport.class), but its unclear how

David says Reinstate Monica
  • 19,209
  • 22
  • 79
  • 122

1 Answers1

14

Dropwizard 1.3.0 added JUnit5 support by introducing the DropwizardExtensionsSupport class.

Specifically, if you need to start / stop the application at the beginning / end of your tests (which is what DropwizardAppRule does), there's a DropwizardAppExtension available.

Your example, rewritten for JUnit5:

@ExtendWith(DropwizardExtensionsSupport.class)
public class MyTest {

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

    ...

       // app.getLocalPort() is also available

}

Unfortunately, the JUnit5 support doesn't seem to be documented yet.

Links:

Alex Shesterov
  • 26,085
  • 12
  • 82
  • 103