我有一个接收命令行参数的程序(在我的例子中,它是一个使用 Argot 的 Scala 程序)。一个简化的用例类似于:
sbt“运行-n 300 -n 50”
想象一下,应用程序应该只接受(并打印)0
和 100
之间的数字,这意味着它应该丢弃 300
并只打印50
。
测试它的最佳方法是什么?单元测试是否适用?与其在 main
中处理参数,不如重构一个函数并测试该函数?
最佳答案
如果您想测试将参数传递给您的程序的行为,那么您将需要执行黑盒集成/系统测试(而非单元测试):
Black-box testing is a method of software testing that examines the functionality of an application without peering into its internal structures or workings. See this.
否则,就按照 Chris 所说的那样,分解出代码来测试底层逻辑,而不测试接收参数的行为。
关于unit-testing - 如何测试命令行参数处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31496657/