Как запускать и отлаживать тесты nunit в Visual Studio 2008 в 64-разрядной версии Windows 7?
-
07-07-2019 - |
Вопрос
Я заменил свой компьютер разработчика (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-разрядная проблема.если это не удается, то, возможно, проблема в чем-то другом.Используете ли вы другие инструменты в своих тестах?освещение, издевательство и т.д., может быть, проблема в другом месте?