根据应用参数 JUnit 验证行为

验证在传递参数时触发一种行为,以及在从 cmd 运行 Java 应用程序时没有传递参数时触发另一种行为的正确方法是什么?

由于 main 方法是静态的,因此验证起来有点棘手,但我也觉得引入 PowerMock 有点过头了。

基本上,如果没有 cmd 参数,我想创建一个带有无参数构造函数的对象,如果有传递给应用程序的参数,则创建一个带有 String 参数构造函数的对象。


隔江千里
浏览 116回答 1
1回答

慕妹3146593

我没有看到你的代码,所以我只能想象它的样子。我可以想象在 main 方法中触发了一些逻辑,这会导致一个或另一个事件。我建议考虑将参数的处理转移到另一个类 ( ArgumentProcessor) 中,该类可以在构造函数中使用构建器对象或工厂对象提供,并且它可以有一个process(String [] args)返回可运行对象或任何你想要实现的方法。如果您然后使用存根构建器/工厂提供 ArgumentProcessor 比我认为应该可以检查逻辑是否已以正确的方式处理。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java