Это работает в обоих направлениях, но модульный тест в соответствии с документацией не прошел для программной версии.
Это модуль тест:
Код: Выделить всё
@Test
void testApp() {
App app = new App();
CommandLine commandLine = new CommandLine(app);
int code = commandLine.execute("sub1", "param1");
assertEquals(0, code);
}
Код: Выделить всё
@CommandLine.Command(name = "foo", subcommands = { App.Sub.class })
public class App {
public static void main( String[] args )
{
CommandLine commandLine = new CommandLine(new App());
System.exit(commandLine.execute(args));
}
@CommandLine.Command(name = "sub1", description = "sub1")
public static class Sub implements Runnable {
@CommandLine.Parameters
public String [] params;
@Override
public void run() {
System.out.println("Sub " + params[0]);
}
}
}
Код: Выделить всё
@CommandLine.Command(name = "foo")
public class App {
public static void main( String[] args )
{
CommandLine commandLine = new CommandLine(new App())
.addSubcommand("sub1", new App.Sub());
System.exit(commandLine.execute(args));
}
@CommandLine.Command(name = "sub1", description = "sub1")
public static class Sub implements Runnable {
@CommandLine.Parameters
public String [] params;
@Override
public void run() {
System.out.println("Sub " + params[0]);
}
}
}
Я предполагаю, что мне нужен программный способ, так как же должен выглядеть модульный тест для этого варианта?
С уважением
Доминик
Подробнее здесь: https://stackoverflow.com/questions/787 ... mmatically
Мобильная версия