无法在 Vista 64 位上使用 NUnit 进行测试
我在尝试在 Vista 64 位、MS Visual Studio 2008 SP1、项目框架 3.5 中使用 NUnit 2.5 运行单元测试时遇到了该问题。
我有两个项目在解决方案中,第一个 - 主项目和第二个 - 带测试的项目。 这两个项目都针对“任何 CPU”平台。 事实上,我没有更改任何有关平台的内容,只是创建了两个具有默认设置(任何CPU)的项目。
我尝试使用不同的工具运行 NUnit 测试:1)Resharper 4.5 中的任务运行器; 2)测试驱动.NET 2.0; 3)NUnit.exe。 每次当我运行单元测试时,我都会收到来自 Windows 的错误报告,指出程序 (1) 任务运行程序; 2)测试驱动.NET 2.0; 3) nunit.exe) 执行被停止。 我尝试使用 nunit-x86 运行测试,但遇到了同样的错误。
在 Windows 的详细信息中,我看到了以下字符串(以及其他字符串):
故障模块名称:KERNEL32.dll
有人可以帮忙吗? 怎么了? 如果有帮助的话,我可以提供更多详细信息。
I encountered the problem while trying to run unit testing with NUnit 2.5 in Vista 64bit, MS Visual Studio 2008 SP1, Projects framework 3.5.
I have 2 projects in solution, the first - main project and the second - project with tests. Both projects targeted "Any CPU" platform. In fact, I didn't changed anything concerning platform, just created two project with default settings (Any CPU).
I tried to run NUnit tests with different tools: 1) Task runner in Resharper 4.5; 2) TestDriven.NET 2.0; 3) NUnit.exe. And every time when I run unit testing I get error report from Windows saying that program (1) Task runner; 2) TestDriven.NET 2.0; 3) nunit.exe) execution was stopped. I tried to run tests with nunit-x86, and i've got the same error.
In details from Windows I saw the following string (among others):
Fault Module Name: KERNEL32.dll
Can anybody help with it? What's wrong? I can provide more details, if it helps.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
嗯,问题既不涉及兼容性也不涉及架构。 我使用调试器运行测试,发现一种方法导致 CLR 库方法抛出 StackOverflowException。 我不知道为什么 NUnit 没有从 CLR 捕获这个异常,但它没有。 事实上,NUnit 通常会捕获所有异常,并且只显示测试的红色状态。 但显然不是在这种情况下。 无论如何,感谢您的帮助,我认为如果有人有时遇到这个问题,他不会感到惊讶:)。
Well, the problem was concerning neither compatibility nor architecture. I ran tests with debugger and I found, that one method caused StackOverflowException thrown from CLR library method. I don't know why NUnit doesn't catch this exception from CLR, but it doesn't. In fact, NUnit usually catches every exception and it just shows red status of test. But apparently not in this case. Anyway, thanks for help and I think that if somebody sometimes meet this issue he will not be surprised :).