如何在 64 位 Windows 7 上的 Visual Studio 2008 中运行和调试 nunit 测试?

发布于 2024-08-04 12:12:48 字数 728 浏览 2 评论 0原文

我已将我的开发机器 (WinXP/32bit) 更换为新机器 (Windows 7/64bit)。现在,我在 Visual Studio 2008 内部运行 NUnit 测试时遇到问题。我正在使用最新版本的 TestDrivenNet

我正在寻找的是:

  • a)如何使 TestDrivenNet 在 Win7/64 上工作
  • b)寻找替代测试运行程序的建议。免费的优先。

在 WinXp/32 上有效(在 Win7/64 上无效):

  • 在 VS.NET 中运行一种测试方法
  • 在 VS.NET 中调试一种测试方法
  • 在 VS.NET 中的一个类中运行所有测试

Win7/64 上的症状:

  • 当尝试运行测试时,跑步者报告“0 个通过,0 个失败,0 个跳过”。看起来在我的班级中找不到任何测试。
  • 使用 TestDriven.NET-2.22.2468 (RTM) 和 2.23.2497 (beta) 进行测试。结果相同。

问题:

  • 你能推荐一个适用于 Win7/64 的好用的 nunit 测试运行程序吗?免费版本是首选。
  • 对于如何使 testdriven.net 运行程序正常工作有什么建议吗?

I've exchanged my dev machine (WinXP/32bit) to a new one (Windows 7/64bit). Now I have trouble running NUnit test from inside Visual Studio 2008. I'm using latest build of TestDrivenNet.

What I am looking for is either:

  • a) how to make TestDrivenNet work on Win7/64
  • b) looking for suggestion for alternative test runner. Free one preferred.

What is working on WinXp/32 (and is not working on Win7/64):

  • run one test method inside VS.NET
  • debug one test method inside VS.NET
  • run all tests in one class inside VS.NET

Symptoms on Win7/64:

  • when trying to run test the runner reports "0 passed, 0 Failed, 0 Skipped". It looks like it is unable to find any tests in my class.
  • tested with TestDriven.NET-2.22.2468 (RTM) and 2.23.2497 (beta). Same results.

Question:

  • Can you suggest a good working nunit test runner for Win7/64? Free variant is preferred.
  • Any suggestions how to make the testdriven.net runner work?

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

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

发布评论

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

评论(2

甜嗑 2024-08-11 12:12:48

我使用的是 win7 64 位和 TD.NET 2.22.246,它工作得很好。
唯一存在的其他 Visual Studio 运行程序是 mstest(仅作为 32 位进程运行)和 TestMatrix< /a>(非免费)

要检查是否是 64 位问题,您可以将测试项目构建为 x86 并使用 TD.NET 运行测试。在这种情况下,TD.NET 将作为 32 位进程运行 - 您可以使用任务管理器并查看 ProcessInvocable.exe 来验证它,

如果测试运行比其 64 位问题。如果失败了,那么问题可能出在其他地方。
您在测试中是否使用其他工具?报道、嘲笑等,也许问题出在其他地方?

I'm using win7 64 bit with TD.NET 2.22.246 and it works just fine.
The only other Visual Studio runners exists are mstest (run only as 32 bit process) and TestMatrix (not free)

To check if it's a 64 bit issue you can build the test project as x86 and run the tests with TD.NET. In that case TD.NET will run as 32 bit process - You can verify it using the Task Manager and looking at ProcessInvocation.exe

If the tests run than its 64 bit issue. if it fails than maybe the problem is somewhere else.
Are you using other tools in your tests? coverage, mocking etc, maybe the problem is in other place?

雨巷深深 2024-08-11 12:12:48

我的同事遇到了完全相同的问题,这次他能够提供最小的修复。我将其重新发布在这里 - 也许对其他人也有帮助。

看起来问题的根本原因是 Source Gear Vault 3.5.x。有关详细信息,请参阅他们的支持论坛帖子

将以下代码提交到注册表中解决了 TD.NET 无法工作的问题:

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Interface\{6D5140C1-7436-11CE-8034-00AA006009FA}]
@="IServiceProvider"
[HKEY_CLASSES_ROOT\Interface\{6D5140C1-7436-11CE-8034-00AA006009FA}\NumMethods]
@="4"
[HKEY_CLASSES_ROOT\Interface\{6D5140C1-7436-11CE-8034-00AA006009FA}\ProxyStubClsid32]
@="{A4A1A128-768F-41E0-BF75-E4FDDD701CBA}"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{6D5140C1-7436-11CE-8034-00AA006009FA}]
@="IServiceProvider"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{6D5140C1-7436-11CE-8034-00AA006009FA}\NumMethods]
@="4"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{6D5140C1-7436-11CE-8034-00AA006009FA}\ProxyStubClsid32]
@="{A4A1A128-768F-41E0-BF75-E4FDDD701CBA}"

My coworker got exactly same problem and he is able to provide a minimal fix this time. I'm reposting it here - maybe it would help someone else too.

It looks like the root cause of problem was Source Gear Vault 3.5.x. See their support forum post for details.

Submitting following code into registry solved the non working TD.NET:

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Interface\{6D5140C1-7436-11CE-8034-00AA006009FA}]
@="IServiceProvider"
[HKEY_CLASSES_ROOT\Interface\{6D5140C1-7436-11CE-8034-00AA006009FA}\NumMethods]
@="4"
[HKEY_CLASSES_ROOT\Interface\{6D5140C1-7436-11CE-8034-00AA006009FA}\ProxyStubClsid32]
@="{A4A1A128-768F-41E0-BF75-E4FDDD701CBA}"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{6D5140C1-7436-11CE-8034-00AA006009FA}]
@="IServiceProvider"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{6D5140C1-7436-11CE-8034-00AA006009FA}\NumMethods]
@="4"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{6D5140C1-7436-11CE-8034-00AA006009FA}\ProxyStubClsid32]
@="{A4A1A128-768F-41E0-BF75-E4FDDD701CBA}"
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文