2011-02-24 67 views
3

我正在使用NUnit测试F#项目。在项目配置的调试选项卡上,我将调试器设置为使用外部程序,这里是nunit-console,工作目录是我的项目的调试文件夹。由于GUI版本没有打到测试文件的断点,因此我更喜欢使用nunit-console与调试器。将'nunit-console'输出重定向到Visual Studio输出窗口

当我调试测试时,控制台窗口出现并消失,并且没有机会读取输出。我试过Console.Readline(),但它不起作用,因为当我使用nunit-console直接从终端运行测试时,由于此命令而失败。

有没有办法将nunit-console输出重定向到Visuals Studio的输出窗口?

更新:当我从控制台运行测试时,我可以使用Thread.Sleep()延迟nunit-console.exe。但是从Visual Studio它不会发生,所以我非常肯定nunit-console.exe在命令由Visual Studio发布时无法读取测试文件。不过,能够读取控制台输出会非常好,因此重定向仍然是可取的。

回答

1

可以使用工具 - >选项...->调试 - >常规:“将所有输出窗口文本重定向到立即窗口”然后确保“调试 - > Windows- >即时。

或者使用NUnit的“/wait”命令行选项。

+0

/wait选项很有效。但是,我还有另一个问题,您可能会好意回答?现在我可以看到nunit控制台的输出了,我可以确保测试正在运行,但它不会触发断点。你知道为什么吗?我很抱歉,如果我的问题是愚蠢的我只使用.NET和F#很短的时间。 – amirmonshi 2011-02-24 13:18:53

+0

我现在正在使用TestDriven.NET,它修复了断点问题。 – amirmonshi 2011-02-24 14:00:11

0

除非我遗漏了一些东西,否则您应该可以使用GUI来打所有断点,将启动项目设置为nunit.exe并将测试DLL的名称作为命令行参数传递。您将在Visual Studio中创建断点,并且您的打印语句将位于GUI's输出选项卡中。

+0

谢谢亚历克斯。我目前正在使用满足我需求的TestDriven.NET :) – amirmonshi 2011-02-25 14:54:50

相关问题