Как запускать и отлаживать тесты nunit в Visual Studio 2008 в 64-разрядной версии Windows 7?

StackOverflow https://stackoverflow.com/questions/1435203

Вопрос

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

То, что я ищу, это либо:

  • a) как заставить 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 (бета-версия).Те же результаты.

Вопрос:

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

Решение 2

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

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

Другие советы

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top