Как запустить и отладить тесты nunit в Visual Studio 2008 на 64-битной Windows 7? - PullRequest
1 голос
/ 17 сентября 2009

Я заменил мою машину разработчика (WinXP / 32bit) на новую (Windows 7 / 64bit). Теперь у меня проблемы с запуском теста NUnit из Visual Studio 2008. Я использую последнюю сборку TestDrivenNet .

Я ищу либо:

  • а) как заставить TestDrivenNet работать на Win7 / 64
  • б) в поисках предложения для альтернативного бегуна. Бесплатно один предпочтительный.

Что работает на WinXp / 32 (и не работает на Win7 / 64):

  • запустить один метод теста внутри VS.NET
  • отладка одного метода тестирования внутри VS.NET
  • запускать все тесты в одном классе внутри VS.NET

Симптомы на Win7 / 64:

  • при попытке запустить тест бегун сообщает "0 пройдено, 0 не выполнено, 0 пропущено". Похоже, он не может найти никаких тестов в моем классе.
  • протестировано с TestDriven.NET-2.22.2468 (RTM) и 2.23.2497 (бета). Те же результаты.

Вопрос:

  • Можете ли вы предложить хороший работающий тестовый модуль для Win7 / 64? Свободный вариант предпочтителен.
  • Какие-нибудь предложения, как заставить работать бегуна testdriven.net?

Ответы [ 2 ]

3 голосов
/ 17 сентября 2009

Я использую win7 64 бит с TD.NET 2.22.246, и он работает просто отлично. Существуют только другие бегуны Visual Studio: mstest (выполняется только как 32-битный процесс) и TestMatrix (не бесплатно)

Чтобы проверить, является ли это 64-битной проблемой, вы можете собрать тестовый проект как x86 и запустить тесты с TD.NET. В этом случае TD.NET будет работать как 32-битный процесс. Вы можете проверить это с помощью диспетчера задач и, глядя на ProcessInvocation.exe

Если тесты выполняются, тогда возникает проблема с 64-разрядной версией. если это не удается, то, возможно, проблема где-то еще. Используете ли вы другие инструменты в ваших тестах? освещение, насмешки и т. д., может быть, проблема в другом месте?

1 голос
/ 30 сентября 2009

У моего коллеги возникла точно такая же проблема, и на этот раз он может предоставить минимальное решение. Я размещаю это здесь - возможно, это поможет кому-то еще.

Похоже, что основной причиной проблемы был 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}"
...