Помогите настроить MSpec - PullRequest
1 голос
/ 06 мая 2010

оснастка: win7 64bit, vs2010, mvc v2, TestDriven.Net 3.0, Reshaper 5.0, MSpec 0.3

Я недавно начал новый проект и хочу использовать 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. Технические характеристики

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

Я не знаю, откуда эта ошибка.

vs2010 menu -> ReSharper -> Plugins показывает плагин MSpec. Меню vs2010 -> ReSharper -> Параметры -> Инструменты -> Модульное тестирование также показывает провайдера модульного тестирования 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, который также не работал. теперь я боюсь, что я испортил мой реестр.

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

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

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

Ответы [ 3 ]

3 голосов
/ 06 мая 2010

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

Ваш каталог плагинов ReSharper 5.0 выглядит хорошо для меня. Однако у меня есть пользователи, которые сообщают, что когда вы распаковываете почтовый файл MSpec (который вы, вероятно, скачали из http://teamcity.codebetter.com) с помощью Проводника), Windows помечает извлеченные DLL как загружаемые из Интернета.

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

0 голосов
/ 02 декабря 2010

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

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

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

0 голосов
/ 18 мая 2010

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

...