TFS2018 работает с тестами NUnit / Selenium
Я пытаюсь настроить TFS2018 для запуска моего проекта C#/selenium/specflow в первый раз. У меня хорошо работает задание, но я изо всех сил пытаюсь заставить его распознавать мои тесты. Локально мои тесты подобраны и проходят. Я использую NUnit, поэтому у меня есть NUnit и тестовый адаптер NUnit3, установленные в проекте в Visual Studio. В настоящее время в моей сборке у меня есть только задача VSTest, и она работает зеленым, но утверждает, что тесты не были найдены. Он ищет тестовые сборки по следующим критериям:
* test *.dll!\ OBJ **
Я много занимался поиском и не могу найти ничего, что явно объясняет, что мне нужно сделать, чтобы TFS распознал тесты NUnit. Я вижу "путь к настраиваемым тестовым адаптерам", который, как я полагаю, должен подобрать NUnit3TestAdapter, но я не знаю, как указать на это задачу. Может ли кто-нибудь помочь мне с точки зрения непрофессионалов, какой шаг я здесь пропускаю? Я довольно новичок в настройке рабочих мест в TFS, поэтому любые указатели будут высоко оценены. В Интернете есть немало материала, но все, что я обнаружил, похоже, относится к старым версиям и требует много знаний!
1 ответ
restoring the appropriate packages, including the adapter
Что сказал Дэниел, вы должны использовать соответствующий пакет Nuget, который включает тестовый адаптер NUnit и NUnit3, такой как этот, в ваш проект.
Самый простой способ сделать это - добавить NUnit Test Adapter NuGet package 2.x/3.x в ваш проект модульного тестирования. Задача VsTest должна автоматически обнаруживать участников тестирования, которые восстанавливаются в каталог пакетов NuGet.
В конвейере сборки добавьте задачу Nuget для использования пакета и восстановления во время сборки.
Вы могли бы взглянуть на этот вопрос: как мне использовать NUnit в VSTS?
Другой способ (старый) как интегрировать тесты NUnit в сборки TFS, этот блог ясно описывает, как это сделать: Запуск тестов NUnit в сборке TFS 2015 vNext
Просто подытожил следующее:
- Добавить пакет Nuget для тестового адаптера NUnit
Укажите путь к пользовательскому тестовому адаптеру в определении сборки
Копирование адаптеров в папке Visual Studio TestWindows
Укажите путь к пользовательскому тестовому адаптеру с пакетами nunit
В блоге OP также упоминается новый способ в комментарии: удалите тестовый адаптер локально, в VS используйте вместо этого пакет Nuget:
В последнем движке сборки достаточно использовать пакет nuget для тестового адаптера, и тесты запускаются в сборке без каких-либо проблем.
Это действительно лучше, потому что сборка будет использовать тот же адаптер, который вы используете в Visual Studio. Концепция заключается в том, чтобы удалить тестовый адаптер nunit vsix addin из visual studio и вместо этого добавить адаптер для всех проектов nunit как пакет nuget. Это должно решить все.