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

Nic*_*rca 5 c++ testing visual-studio-2012

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

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

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

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

Lol*_*4t0 1

如上所述您可以重定向某些文件的输入。

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

在项目属性的“调试”类别的“命令参数”属性中添加:

>  actual.out.txt && diff actual.out.txt expected.out.txt
Run Code Online (Sandbox Code Playgroud)

您可以diff使用任何适当的 diff 工具进行替换。

通常,您可以在程序执行后使用&&.