java - 如何测试 Java 应用程序的输入和输出?

标签 java testing

我有一个简单的 Java 控制台应用程序,想自动测试它的输入/输出。输入总是只有一行,但输出有时不止一行。

我该怎么做? (使用 Linux shell/Python/Eclipse/Java)

最佳答案

您可以在 Linux 中使用管道。例如,像这样运行您的问题:

java myProgram < input_file > output_file

这将运行 myProgram 并从 input_file 提供输入。所有输出都将写入名为 output_file 的文件。

现在创建另一个名为 expected_file 的文件,您应该手动创建该文件以指定您对某些输入(特别是 input_file 中的输入)期望的确切输出。

然后您可以使用 diff 来比较 output_file 和 expected_file:

diff output_file expected_file

这将输出两个文件之间的任何差异。如果没有差异,则不会返回任何内容。具体来说,如果返回某些内容,则说明您的程序无法正常工作(或者您的测试有误)。

最后一步是用 Ruby (:)) 或 Bash (:()) 等脚本语言链接所有这些命令。

这是进行此类测试的最直接的方法。如果您需要编写更多测试,请考虑使用一些测试框架,例如 junit。

关于java - 如何测试 Java 应用程序的输入和输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9447050/

相关文章:

java - 与按需执行文件查找相比,什么时候在初始化时从文件加载所有数据更好? ( java )

java - 如何在 Java 中以最高效和优雅的方式使用并行处理

javamail 互联网地址 RFC822 格式

performance - 模拟不同国家的访问

selenium - SafariDriver:inputElement.clear() 未按预期工作

unit-testing - 单元测试的值(value)是否随着单元测试的复杂性而降低?

python - 如何在python中修补常量

java - Java Canvas 上的 FPtree

java - Android Studio 无法解析 android.gms 包中缺少的常见符号

testing - 要有效地使用 Selenium 工具进行自动化测试,应该了解哪些脚本语言