测试Visual Studio 2012控制台应用程序的输入/输出

时间:2013-06-12 16:56:04

标签: c++ testing visual-studio-2012

我正在开发一个程序,它从标准输入读取一些输入,处理它,并将一些输出写入标准输出。因此,我不必每次都输入样本/测试输入,我已将输入保存到TXT文件,并将相应的预期输出保存到另一个TXT文件。

如何运行我的可执行文件(最好是在Debug或Release模式下,或者可能在profiler下),以便VS自动输入输入TXT文件? VS能否自动检查程序的输出与预期的输出TXT文件?如果它们不同的话,它会向我展示一个并排的差异会很棒。我可以设置测试框架以使用不同的输入/预期输出文件运行各种测试吗?

请注意,我不能只使用正常的单元测试,因为我必须进行集成测试。

编辑:为了它的价值,我正在使用C ++。

1 个答案:

答案 0 :(得分:1)

如上所述above,您可以从某个文件重定向输入。

同样,您可以将输出重定向到某个临时文件,然后调用一些差异工具来比较您的文件:

在项目属性“Debugging”类别的“Command Arguments”属性中添加:

>  actual.out.txt && diff actual.out.txt expected.out.txt

您可以使用任何适当的差异工具替换diff

通常,您可以在程序执行后使用&&调用任何脚本。