Тестирование команд pico cli, Java - PullRequest
2 голосов
/ 09 января 2020

Я написал программу на Java и построил интерфейс командной строки, используя PicoCli

Мне было интересно, как люди, использующие pico, тестировали свои команды в процессе кажется, действительно трудно сделать это в данный момент.

Заранее спасибо

1 Ответ

2 голосов
/ 09 января 2020

Вы можете выполнить тестирование черного ящика, проверив код выхода и вывод программы в стандартный поток вывода и стандартный поток ошибок.

Вы можете выполнить тестирование белого ящика, сохранив ссылку на свое приложение и заявив о состоянии своего приложения после предоставления ему различных входных данных командной строки.

Например:

MyApp app = new MyApp();
StringWriter sw = new StringWriter();
CommandLine cmd = new CommandLine(app);
cmd.setOut(new PrintWriter(sw));

// black box testing 
int exitCode = cmd.execute("-x", "-y=123");
assertEquals(0, exitCode);
assertEquals("Your output is abc...", sw.toString());

// white box testing 
assertEquals("expectedValue1", app.getState1());
assertEquals("expectedValue2", app.getState2());

Обновление: в руководстве пользователя picocli появился отдельный раздел о тестировании .

...