Запуск nUnit из кода, сгенерированного msBuild из Jenkins - PullRequest
2 голосов
/ 13 мая 2011

Моя компания переходит к непрерывной интеграции с использованием Jenkins. Мы храним наш код в Subversion. Мы кодируем на C # (хорошо, другие используют php).

Я столкнулся с проблемой, я не могу заставить работать nUnit при компиляции проекта.

Мой проект очень прост с одним классом и несколькими тестами nUnit. Прекрасно работает в Visual Studio. Он собирается, и я могу запустить консоль NUnit для проверки кода.

Я могу использовать Jenkins для извлечения проекта из Subversion Затем я могу построить код с помощью msBuild. Однако, когда я пытаюсь запустить NUnit из консоли NUnit, мне говорят, что nunit.framework.dll отсутствует.

nunit.framework.dll находится в C: \ Program Files (x86) \ NUnit 2.5.10 \ bin \ net-2.0 \ framework

Я думаю, что он ищет файл nunit.framework.dll, на который ссылается проект. Что необходимо для добавления тестов NUnit в проект.

Замечу, что при сборке из Visual Studio файл nunit.framework.dll копируется в папку bin. Я отмечаю, что в Subversion нет содержимого bin. Я должен был положить копию nunit.framework.dll в C: \ Program Files (x86) \ Справочные сборки \ Microsoft \ Framework.NETFramework \ v4.0 \ Profile \ Client чтобы msBuild мог его найти.

Как я могу получить nunit.framework.dll в папку вывода bin при использовании Jenkins и msBuild?

Я просмотрел несколько сообщений, но не обращался к этому вопросу.

Любые мысли приветствуются. Спасибо, Ричард

Ответы [ 2 ]

2 голосов
/ 14 мая 2011

В вашем тестовом проекте, где вы ссылаетесь на файл Nunit.Framework.dll, щелкните правой кнопкой мыши по нему и выберите свойства (или нажмите Alt + Enter) и установите Copy Local в значение True

enter image description here

0 голосов
/ 16 мая 2011

Subversion не хранит выходные файлы (т.е. dll) по умолчанию. Я перестроил проект и добавил nunit.framework.dll в Subversion. Таким образом Дженкинс извлекает его и на него можно ссылаться.

...