测试pico cli命令,Java

问题描述 投票:0回答:1

我已经用Java编写了程序,并且已经使用PicoCli构建了命令行界面https://picocli.info/

我想知道使用pico的人们如何测试他们的命令,因为目前看来确实如此。

提前感谢

java command-line-interface picocli
1个回答
0
投票

您可以通过验证退出代码并将程序的输出验证为标准输出流和标准错误流来进行黑盒测试。

您可以通过保留对应用程序的引用并在为应用程序提供各种命令行输入后断言应用程序的状态来进行白盒测试。

例如:

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());

© www.soinside.com 2019 - 2024. All rights reserved.