VSTest-Task не работает .NET Core 2.1 xUnit-тесты из плана тестирования - PullRequest
0 голосов
/ 01 октября 2018

Я пытаюсь создать конвейер выпуска в VSTS, который выполняет мои тесты xUnit, как указано в Test Plan.

Короче говоря: я не могу заставить его работать.

Что я использую:

  • DevOps Azure (ранее VSTS)
  • Тестовое задание Visual Studio (v2. *)
  • Тестирование целевого проекта .NET Core 2.1
  • xunit 2.4 с xunit.runner.visualstudio 2.4

В DevOps Azure я определил Test Plan, который содержит Test Suite, который содержит Test, который имеет Associated Automation, что указывает на мой тест xUnit.Мне пришлось использовать REST API, чтобы связать тестовый код с Test, как описано здесь .

Я могу выбрать этот Test в визуальном конструкторе для задачи VSTest.

Когда я запускаю конвейер выпуска, задача VSTest завершается неудачно со следующим сообщением об ошибке:

DiscoveryMessage : System.IO.FileNotFoundException: Unable to find tests for D:\a\r1\a\Foo.Tests.dll. Make sure test project has a nuget reference of package "Microsoft.NET.Test.Sdk" and framework version settings are appropriate. Rerun with /diag option to diagnose further.

Путь к файлу Foo.Tests.dll правильный, все необходимыефайлы также копируются.

  • Я явно указал версию платформы в файле .runsettings (так как опция Other console options не работает при использовании опции Test plan).
  • Указаны path to custom test adapters
  • используемые Visual Studio 2017 и Installed by Tools Installer опции
  • Добавлен .NET Core Tool installer для установки правильного .NET Core SDK
  • ...и любую другую комбинацию настроек, о которой я мог подумать.

Сообщение об ошибке остается тем же.

Есть идеи, что мне может не хватать?Ваша помощь будет очень оценена в этот момент!

1 Ответ

0 голосов
/ 08 октября 2018

Еще через несколько часов мы наткнулись на веб-страницу, где говорилось, что вам не нужно копировать двоичные файлы вашего тестового проекта в качестве входных данных для задачи VSTest, а вместо этого ОПУБЛИКОВАТЬ.Это никогда не приходило в голову, когда vstest.console.exe работает гладко, когда вы указываете на двоичные файлы на локальном компьютере.


ОБНОВЛЕНИЕ: Нам пришлось добавить Опубликовать артефактЗадача в конце нашего конвейера сборки и заставить конвейер освобождения забрать опубликованный артефакт.

enter image description here

...