public abstract void run(Bootstrap<?> bootstrap, Namespace namespace) throws Exception;
@Test
    void listHelpOnceOnArgumentOmission() throws Exception {
        assertThat(cli.run("test", "-h"))
            .isEmpty();

        assertThat(stdOut)
            .hasToString(String.format(
                "usage: java -jar dw-thing.jar test [-h] {a,b,c}%n" +
                    "%n" +
                    "test%n" +
                    "%n" +
                    "positional arguments:%n" +
                    "  {a,b,c}                Type to use%n" +
                    "%n" +
                    "named arguments:%n" +
                    "  -h, --help             show this help message and exit%n"
            ));

        assertThat(stdErr.toString())
            .isEmpty();
    }