1
votes

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?
2

2 Answers

3
votes

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?

1
votes

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}"