@Test public void testRun_Help() throws InterruptedException { BQDaemonTestRuntime runtime = app.newRuntime().startupAndWaitCheck().start("--help"); String help = runtime.getStdout(); assertTrue(help.contains("--server")); assertTrue(help.contains("--help")); assertTrue(help.contains("--config")); }
/** * Starts the test app in a background thread. * * @param args String[] emulating command-line arguments passed to a Java app. * @return {@link BQDaemonTestRuntime} instance created by the builder. The caller doesn't need * to shut it down. Usually JUnit lifecycle takes care of it. */ public BQDaemonTestRuntime start(String... args) { Consumer<Bootique> localConfigurator = configurator; if (!properties.isEmpty()) { Consumer<Bootique> propsConfigurator = bootique -> bootique.module( binder -> { MapBinder<String, String> mapBinder = BQCoreModule.contributeProperties(binder); properties.forEach((k, v) -> mapBinder.addBinding(k).toInstance(v)); }); localConfigurator = localConfigurator.andThen(propsConfigurator); } BQDaemonTestRuntime runtime = new BQDaemonTestRuntime(localConfigurator, startupCheck, args); runtimes.add(runtime); runtime.start(startupTimeout, startupTimeoutTimeUnit); return runtime; }