我正在使用MSTest来运行一些测试(在C#中)。我正在测试的一个例程创建一个新进程,该进程经常转储一些输出stdout。我想在测试中捕获该输出。虽然查看测试是否失败并不重要,但找出测试失败的原因非常有帮助。我怎么能这样做?
一些细节。不幸的是,我无法触及创建该过程的代码。更糟糕的是,它是C ++,它是通过C ++ / CLI包装器调用的。如果我创建一个.NET控制台应用程序(在C#中),那么我想要捕获的子进程的stdout会在进行调用时出现在控制台应用程序的窗口中。当我在MSTest上下文中运行相同的代码时,子进程创建会弹出一个新窗口,子进程会在该窗口中转储其输出。如果可能的话,我想捕获输出。
非常感谢!
答案 0 :(得分:0)
如果你完成后双击测试结果,你应该看到一个包含stdout的报告页面..然后你可以在这里看到Redirecting stdout of one process object to stdin of another如何重定向你的子进程标准输出并只是在stdout测试(即调用Console.Write())