【问题标题】:Testing pico cli commands, Java测试 pico cli 命令,Java
【发布时间】:2020-01-09 10:10:19
【问题描述】:

我已经开发了一个 Java API,并且我已经构建了一个命令行界面来使用它使用 PicoCli

测试我的 pico 命令的正确方法是什么?

提前致谢

【问题讨论】:

    标签: java command-line-interface picocli


    【解决方案1】:

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

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

    例如:

    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 用户手册现在有一个单独的section about Testing

    【讨论】:

    • 我一直在寻找如何做到这一点 - 很好的答案,谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-27
    • 2022-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-10
    相关资源
    最近更新 更多