2010-05-06 4 views
1

установка: win7 64bit, VS2010, MVC v2, TestDriven.Net 3,0, 5,0 Reshaper, MSpec 0,3Помощь настройке MSpec

я недавно начал новый проект, и вы хотите использовать mspec.

(1) копируется Machine.Specifications.ReSharperRunner.5.0.dll и Machine.Specifications.dll в JetBrains \ \ ReSharper 5.0 \ Bin \ Plugins \ Machine.Specifications (2) копируется в Machine.Specifications.TDNetRunner.dll TestDriven .NET 3 \ Machine.Specifications

, когда я пытаюсь запустить тест я получаю эту ошибку: System.IO.FileNotFoundException: не удалось загрузить файл или сборку «Machine.Specifications

я не знаю, где это ошибка идет от.

vs2010 menu -> ReSharper -> Плагины показывают плагин MSpec. vs2010 menu -> ReSharper -> Options -> Tools -> Unit Testing также показывает поставщика тестирования модулей MSpec, но он не показывает никаких деталей, когда я нажимаю на него, как MSTest и nUnit.

Я нашел это: http://marcinobel.com/index.php/mspec-bdd-installer/ который не работал. Я также пробовал это: http://eduncan911.com/blog/registering-mspec-runners-for-testdriven-net-on-windows-x64.aspx который также не работал. теперь я боюсь, что я ввернул свой реестр.

любое руководство?

полная ошибка:

Test 'F: Tests.OTBRadio.Tasks.AlbumTasksSpecs.when_the_album_tasks_are_asked_to_get_all.context' не удалось: Не удалось загрузить файл или сборку «Machine.Specifications, Version = 0.3.0.0, культура = нейтральной, PublicKeyToken = null 'или одна из его зависимостей. Система не может найти указанный файл. System.IO.FileNotFoundException: Не удалось загрузить файл или сборку «Machine.Specifications, Version = 0.3.0.0, Culture = neutral, PublicKeyToken = null» или одна из его зависимостей. Система не может найти указанный файл. Имя файла: 'Machine.Specifications, Version = 0.3.0.0, Culture = neutral, PublicKeyToken = null' at Machine.Specifications.TDNetRunner.SpecificationRunner.RunMember (ITestListener testListener, сборка, член MemberInfo) на TestDriven.TestRunner. AdaptorTestRunner.Run (ITestListener testListener, ITraceListener TraceListener, String assemblyPath, String testPath) на TestDriven.TestRunner.ThreadTestRunner.Runner.Run()

ответ

3

Вам не нужно копировать Machine.Specifications.TDNetRunner.dll в любом месте, просто поместите его в вашем проект tools или lib, то есть где вы сохраняете зависимости вашего проекта. Проект, содержащий тесты MSpec, будет ссылаться на Machine.Specifications.dll из этого каталога. TestDriven.Net> = 2.24 сможет подобрать проигрывателя TD.Net, пока Machine.Specifications.dll.tdnet находится в том же каталоге. Пример того, как мне нравится организовать мой каталог tools, можно найти here.

Ваш каталог плагинов ReSharper 5.0 выглядит хорошо для меня. Тем не менее, у меня есть пользователи, сообщающие, что при распаковке zip-файла MSpec (который вы, скорее всего, загрузили с) с помощью проводника Windows помечает извлеченные библиотеки DLL как загружаемые из Интернета.

Удостоверьтесь, что Windows не блокирует DLL в <ReSharper 5.0>\bin\plugins, открыв свойства каждой библиотеки DLL и нажав «Разблокировать» на первой странице свойств. Если кнопка «Разблокировать» не отображается, ваши файлы в порядке. В этом случае, пожалуйста, напишите здесь, и мы увидим, как мы можем работать с вашим плагином MSpec.

+0

У меня есть аналогичный каталог «ReferencedAssemeblies» для моего проекта. я сделал все, что вы предлагали, все еще не работая. Я добавил полную ошибку к моему оригинальному сообщению, так как он не подходит здесь. – CurlyFro

+0

Не могли бы вы попытаться использовать Process Monitor, чтобы убедиться, что Machine.Specifications.dll не может быть найден во время запуска теста? В качестве другого варианта попробуйте построить тестовую сборку как x86. Использует ли ReSharper бегун для вас? –

+0

Я расстроился и начал новый проект, и это сработало. Спасибо за вашу помощь. – CurlyFro

0

После изменения любой dll вы должны очистить проект, чтобы у вас не было ошибок в новом проекте.

0

У меня также была такая же проблема, и я исправил ее, клонируя копию MSpec от Github (https://github.com/machine/machine.specifications).

Затем в папке «Источник» я запустил один из пакетных файлов (в моем случае build-4.0-debug.cmd), который создал «Machine.Specifications.dll» в «xxx \ Source \ Build \ Debug».

Я удалил ссылки на «старые» dll, очистил мой проект, скопировал по старой dll с новой dll, полученной мной на предыдущем шаге, перестроил и сделал трюк.

Смежные вопросы