【发布时间】:2013-03-12 16:18:24
【问题描述】:
我编写了一个接受输入命令行参数的 Java 独立应用程序。如何使用 JUnit 测试用例对其进行测试?
【问题讨论】:
-
与其他方法相同,但除非您正在测试参数传递,否则您应该测试实际逻辑,例如应用程序中的方法。如果参数编组被正确隔离,也可以进行测试。否则,您可以像任何其他静态方法一样使用参数调用 main。
标签: java junit command-line-arguments
我编写了一个接受输入命令行参数的 Java 独立应用程序。如何使用 JUnit 测试用例对其进行测试?
【问题讨论】:
标签: java junit command-line-arguments
只需从 JUnit 调用您的 main() 方法。但是,由于main() 不返回任何内容,因此您无法轻松编写任何断言(您必须依赖副作用)。
因此,为了测试的简单性和可维护性,请将带有参数解析的 main() 方法与实际逻辑分开。单独使用模拟逻辑测试main(),分别测试参数解析和测试业务逻辑。您的业务逻辑将具有定义明确的强类型接口,使其更易于测试和理解。
此步骤还将减少耦合并提高可读性。
【讨论】: