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

Просто подытожил следующее:

  1. Добавить пакет Nuget для тестового адаптера NUnit
  2. Укажите путь к пользовательскому тестовому адаптеру в определении сборки

    • Копирование адаптеров в папке Visual Studio TestWindows

    • Укажите путь к пользовательскому тестовому адаптеру с пакетами nunit

В блоге OP также упоминается новый способ в комментарии: удалите тестовый адаптер локально, в VS используйте вместо этого пакет Nuget:

В последнем движке сборки достаточно использовать пакет nuget для тестового адаптера, и тесты запускаются в сборке без каких-либо проблем.

Это действительно лучше, потому что сборка будет использовать тот же адаптер, который вы используете в Visual Studio. Концепция заключается в том, чтобы удалить тестовый адаптер nunit vsix addin из visual studio и вместо этого добавить адаптер для всех проектов nunit как пакет nuget. Это должно решить все.

Другие вопросы по тегам