Как настроить NUnit для запуска тестов на модуле проекта?
Я начинаю использовать NUnit для написания тестовых примеров в С# с Visual Studio 2010 на .NET 4.0. Я хочу использовать NUnit для тестирования публичных функций .dll(проект библиотеки классов С#). Как настроить NUnit для работы с моим проектом?
-
Должен ли я добавлять код NUnit в тот же проект библиотеки классов для тестирования или добавить отдельный проект в то же решение для тестовых случаев NUnit? Какая практика?
-
Если мне нужно создать отдельный проект для тестовых примеров NUnit, должен ли я сделать его проектом библиотеки классов или исполняемым файлом? Если я сделал проект класса библиотеки, как мне его запустить?
-
Если мне нужно протестировать проект, а не проект библиотеки классов, есть ли какие-либо изменения в процессе и/или проектах?
Ответы
Ответ 1
Re 2
Как правило, держите [dll test case] отдельно от вашей [dll бизнес-логики]. В вашей бизнес-логике dll не должно быть никаких знаний о NUnit, чтобы разделить проблемы и упростить развертывание/обслуживание.
В dll вашего тестового примера должна быть ссылка на NUnit и на dll вашей бизнес-логики.
Вам не нужно использовать пространство имен. Вы можете открыть внутренние члены вашей бизнес-логики dll в dll вашего тестового примера, изменив файл AssemblyInfo.cs dll бизнес-логики, чтобы выставить внутренние компоненты в dll тестового примера. Это позволяет сохранить желаемую видимость в dll бизнес-логики.
Re 3
Ваши тестовые примеры должны выполняться в dll (например, в библиотечном проекте). Вы можете загрузить это прямо в пользовательский интерфейс NUnit или использовать бегун консоли NUnit в среде интеграции для автоматического запуска тестов.
Как я это делаю:
- открытый проект библиотеки классов сценариев
свойства, вкладка "Отладка"
- установить для внешней программы:
укажите это на свой nunit.exe
- задать аргументы командной строки для
точное имя вашей тестовой библиотеки dll:
MyTests.dll
- рабочий каталог: просто нажмите
кнопка с многоточием, и это будет
предварительно выберите тестовый вывод dll
каталог текущей сборки
конфигурации
- установить тестовый проект как
проект запуска по умолчанию в
решение; таким образом, всякий раз, когда вы нажимаете
F5 (или кнопка "Воспроизвести" ), NUnit будет
придумайте свои обновленные тесты
предустановленный - очень удобный и
быстро.
Удачи - попробуйте также тип тестового проекта avl. в Visual Studio он очень похож на NUnit. Я по-прежнему предпочитаю NUnit, но изучая его, чтобы попробовать несколько вариантов.
Ответ 2
- Тестирование модулей должно проходить в отдельном тестовом проекте в рамках одного и того же решения.
- Да, сделайте это проектом библиотеки классов. Если вы хотите запустить тесты в NUnit, этот учебник может показать вам, как.
Что касается вашего комментария: когда вы устанавливаете NUnit.exe в качестве исполняемого файла по умолчанию для тестовой библиотеки тестов (той, которая содержит ваши тесты единиц), вы указываете NUnit, какую DLL вы хотите протестировать; после первого раза он будет помнить, с каким проектом вы выполняете тесты.
Вы также хотите, чтобы у вас есть ссылки в библиотеке Unit Test, которые ссылаются на другой проект.
Опять же, в этом уроке я перечисляю все это.
Ответ 3
2: Вы должны поместить все тесты NUnit в отдельный проект в том же решении. Построение проекта создает тесты, и наоборот, так как вы TDDing этого проекта (вы делаете это, правильно?), Вы можете просто запустить тесты, и он построит все необходимое для этого.
3: Библиотека классов. При использовании NUnit он не должен запускаться Windows; вам просто нужно использовать тестовый бегун.
Ответ 4
Я бы добавил отдельный тестовый проект для тестового кода и ссылки NUnit и тестируемой библиотеки. Он должен быть библиотекой классов, и он запускается с помощью NUnit test runner (s), например. nunit-console test_assembly.dll
- см. документацию .