为什么 NUnit 在命令行中挂起,但在 TestDriven.NET 下却没有挂起?

发布于 2024-08-22 21:43:31 字数 591 浏览 6 评论 0 原文

如果我在 VS2008 下从 TestDriven.NET 开始单元测试,它们几乎会立即运行。

如果我使用 nunit-console.exe 启动单元测试,NUnit 控制台会在实际运行测试之前挂起五分钟。如果我附加一个调试器,它似乎将时间花在从 System.Runtime.Serialization.Formatters 调用的 System.IO.MemoryStream.Read 中,从 调用>System.Runtime.Remoting,在由 NUnit.Core.ProxyTestRunner.Test.get 调用的一些本机管理转换的另一侧。有时,它位于 System.Runtime.Serialization.ObjectManager.RecordFixup.FindObjectHolder 中。

这是 32 位 XP 上的 NUnit-2.5.2,已完全修补。所有程序集都针对 .NET 2.0。

nunit-console 正在做什么?有什么办法可以劝它不要这样做吗?

If I start my unit tests from TestDriven.NET under VS2008, they run pretty much immediately.

If I start my unit tests using nunit-console.exe, the NUnit console hangs for five minutes before actually running my tests. If I attach a debugger, it seems to be spending its time in System.IO.MemoryStream.Read, called from System.Runtime.Serialization.Formatters, called from System.Runtime.Remoting, on the other side of some native-managed transitions called by NUnit.Core.ProxyTestRunner.Test.get. Sometimes, it's in System.Runtime.Serialization.ObjectManager.RecordFixup or .FindObjectHolder.

This is with NUnit-2.5.2 on 32-bit XP, fully patched. All assemblies are targeted to .NET 2.0.

What is nunit-console up to? Is there any way to persuade it to not do it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦里的微风 2024-08-29 21:43:31

我不能确定,因为我也很幸运使用了新版本。您可能有一个包含大量测试的庞大测试套件,不是吗?如果由于其他原因不需要应用程序域隔离,可以转将其关闭,然后您可以节省远程处理/编组时间。

请尝试一下并向我们提供反馈:

nunit-console.exe /noshadow /nologo /process Single /domain None whatever.dll

还有一种方法可以通过 配置文件,如果你不想用棍子碰你的构建脚本。 :)

I cannot be sure, since I am also lucky to use a new version. You probably have a huge test suite with lots of tests, aren't you? If you do not need application domain isolation for other reasons, you can turn it off and then you save the remoting/marshaling time.

Try this please and give feedback to us how it went:

nunit-console.exe /noshadow /nologo /process Single /domain None whatever.dll

There is also a way to add these options via the configuration files, if you do not want to touch your build scripts even with a stick. :)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文