我正在使用NUnit测试一个F#项目。在“项目配置”的“调试”选项卡上,我已将调试器设置为使用外部程序(此处为nunit-console ),并将工作目录设置为项目的调试文件夹。我更喜欢在调试器中使用nunit-console,因为图形用户界面版本不会命中测试文件的断点。
当我调试测试时,控制台窗口出现并消失,没有机会读取输出。我已经尝试过Console.Readline(),但它不起作用,因为当我使用nunit-console直接从终端运行测试时,由于此命令而失败。
有没有办法将nunit-console输出重定向到Visuals Studio的输出窗口?
更新:当我从控制台运行测试时,我可以使用Thread.Sleep()来延迟nunit-console.exe。但在Visual Studio中不会发生这种情况,所以我非常确定当Visual Studio发出命令时,nunit-console.exe无法读取测试文件。不过,能够读取控制台输出将是非常好的,因此重定向仍然是可取的。
发布于 2011-02-24 21:07:14
使用Tools->Options...->Debugging->General:"Redirect all Output Window text to Immediate Window",然后使用Debug->Window->Immediate确保"Immediate Window“可见。
或者使用NUnit的"/wait“命令行选项。
发布于 2011-02-24 23:25:32
除非我遗漏了什么,否则您也应该能够使用图形用户界面命中所有断点,将启动项目设置为nunit.exe,并将测试DLL的名称作为命令行参数传递。您将命中Visual Studio中的断点,并且print语句将出现在GUI's output选项卡中。
https://stackoverflow.com/questions/5104464
复制相似问题