Использование NUnit с Visual C # Express 2010 и .net 4 - PullRequest
5 голосов
/ 15 марта 2011

Я уже некоторое время осматриваю SO и Интернет и пытаюсь найти какую-либо информацию о том, как настроить мой проект C # для модульных тестов.

Я начал работу на главном сайте NUnit http://www.nunit.org, загрузка включает в себя графический интерфейс для запуска ваших модульных тестов, звучит мята.Только когда я пытаюсь указать GUI для моего .exe, я сразу получаю сообщение об ошибке, в котором говорится, что NUnit не предназначен для работы с этим фреймворком.Это заставило меня задуматься о том, что, может быть, NUnit не работает с .net 4. Очевидно, что так и есть, многие люди в Интернете, похоже, заявляют, что проводят модульные тесты NUnit с .net 4 .... конечно, они непродолжайте говорить, как.

Перебирая Google, я обнаружил, что одним из основных участников разработки NUnit является чувак по имени Чарли Пул.Я обнаружил, что у него здесь есть панель запуска: https://launchpad.net/nunit-xtp. Номера версий новее, чем на основном сайте NUnit.Однако, когда я скачал проект, это всего лишь кодовая база и решение для инфраструктуры NUnit без графического интерфейса.В нее входит бегущая строка для командной строки, но мне действительно нужно что-то визуальное.

У нас есть команда jetbrains teamcity как BMS, поэтому я сейчас иду по пути, возможно, пытаюсь каким-то образом интегрировать NUnit в конвейер сборки.Если кто-нибудь сможет пролить свет на то, как NUnit работает с экспресс-версией c #, это было бы чудесно полезно.

Редактировать: у меня BMS Teamcity сейчас выполняет тесты, так что эта часть больше не проблема,Однако каждый раз ждать сборки только для того, чтобы найти ошибку NullException или что-то еще, на самом деле это не срезает.Я должен заставить бегуна GUI работать.Я обнаружил, что этот вопрос NUnit не запускает код Visual Studio 2010 , но даже это не исправляет его для меня.Теперь ошибка обновлена ​​до версии v4.0.30319, поэтому изменения в конфигурации вступили в силу.Та же старая ошибка, хотя: (

Ответы [ 3 ]

3 голосов
/ 15 марта 2011

Правильно, я об этом узнал. здесь очень похожий вопрос: NUnit не работает с кодом Visual Studio 2010

Единственное, что не упоминается, - это то, что для NUnit есть несколько конфигурационных файлов. Я просто предположил, что будет достаточно отредактировать nunit.exe.config. Это действительно обновило настройки, как я видел в сообщении об ошибке. Тем не менее, бегун графического интерфейса nunit должен использовать один из нескольких файлов .config. Я просто просмотрел их все и добавил две необходимые настройки.

Убедитесь, что вы используете правильный .exe. Один из них называется «nunit.exe», и кажется, что он правильный. Другой называется «nunit-x86.exe», и если ваше приложение 32-битное, то вы должны запустить это. Если бы «nunit.exe» назывался «nunit64.exe», думаю, я бы заметил это гораздо раньше.

Вы также должны убедиться, что вы проверяете, что номер версии CLR соответствует настройке, которую вы вставляете в эти файлы конфигурации. Используйте эту ссылку, чтобы определить свой текущий номер версии CLR. Как узнать, какой CLR я использую? Я Microsoft Visual C # 2010 Express, и мой номер версии CLR v4.0.30319

0 голосов
/ 15 марта 2011

Дистрибутив NUnit по умолчанию включает в себя графический интерфейс с именем nunit.exe. При его использовании я устанавливаю свою цель отладки на моей тестовой сборке, чтобы загрузить бегун GUI с соответствующей конфигурацией.

0 голосов
/ 15 марта 2011

Модульные тесты должны быть в отдельной сборке (из библиотеки классов типов).Если вы укажете NUnit на эту сборку, она запустится.То же относится и к исполнителю командной строки (который обычно используется в автоматизированных процессах сборки).

...