VSTest-Task не запускает .NET Core 2.1 xUnit-Tests из плана тестирования

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

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

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

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

В Azure DevOps я определил 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 для установки правильного SDK .NET Core.
  • ... и любые другие комбинации настроек, которые я мог придумать.

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

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


person Sebastian Weber    schedule 01.10.2018    source источник
comment
Вы ссылались на Microsoft.NET.Test.Sdk в своем проекте? Можно ли предоставить нам образец проекта, чтобы проверить, в чем проблема?   -  person Eddie Chen - MSFT    schedule 08.10.2018


Ответы (1)


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


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

введите здесь описание изображения

person Sebastian Weber    schedule 08.10.2018
comment
у вас есть ссылка на сайт? - person Mr Shoubs; 18.01.2019
comment
@MrShoubs Извините, я не смог найти его снова. - person Sebastian Weber; 21.01.2019
comment
Вы можете быть более конкретными? Я столкнулся с той же проблемой, но не знаю, какие шаги вы предприняли для ее решения. - person Mike Cole; 04.02.2019
comment
Я тоже наблюдаю похожую вещь; в этом случае у меня уже был шаг публикации артефактов. - person Tom W; 27.08.2019