Публикация результатов теста xunit в Azure Devops завершается неудачно, результаты для публикации не найдены

Я хочу опубликовать результаты теста xunit в конвейере выпуска Azure Devops с помощью задачи «Опубликовать результаты теста» версии 1. * и 2. *.

Хотя тестовый файл xunit присутствует и имеет содержимое - я проверил с помощью команд ls и cat в конвейере, я получаю следующее сообщение об ошибке:

2020-02-13T08:23:10.9093662Z Obtained XUnit Test Run Start Date: 2020-02-13T08:23:10.9092530Z and Completed Date: 2020-02-13T08:23:10.9092530Z
2020-02-13T08:23:10.9144214Z No Result Found to Publish '/home/vsts/work/r1/a/report/report.xml'.
2020-02-13T08:23:10.9149123Z Obtained XUnit Test Run Start Date: 2020-02-13T08:23:10.9148260Z and Completed Date: 2020-02-13T08:23:10.9148260Z
2020-02-13T08:23:10.9149993Z No Result Found to Publish '/home/vsts/work/r1/a/report/report1.xml'.

Два файла report1.xml и report2.xml обнаруживаются правильно, но Azure DevOps сообщает No Result Found to Publish и не решается опубликовать их.


person bamchris    schedule 13.02.2020    source источник
comment
Привет, какое тестовое задание вы используете для запуска теста xunit? Поскольку эта задача поддерживает xunit v2, а не v1, проверьте, какую версию xunit вы используете.   -  person LoLance    schedule 14.02.2020
comment
Я пробовал оба варианта. Нет разницы.   -  person bamchris    schedule 15.02.2020


Ответы (2)


Если вы используете dotnet test задачу таким образом:

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

Возможно, вам потребуется установить VSTest вместо Xunit в задаче публикации результатов теста:

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

Я встретил такое же сообщение, как ваше, и затем решил его, изменив Xunit на VSTest. Думаю, вы можете столкнуться с подобной проблемой.

Дополнительно:

И, насколько мне известно, встроенные задачи, такие как Visual Studio Test task и Dot NetCore CLI task автоматически публикуют результаты тестирования в конвейер, поэтому вам фактически не нужно отдельное Publish Test Results task в конвейере. См. это для получения более подробной информации.

Например, Тестовая задача Dotnet по умолчанию будет генерировать и публиковать результаты тестирования:

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

Надеюсь, это поможет :)

person LoLance    schedule 14.02.2020

Я нашел обходной путь к проблеме, который на самом деле не решает проблему публикации xunit, но я могу с этим смириться.

Я хотел бы опубликовать результат теста Xunit, полученный при помощи тестового кафе, у которого есть много возможностей для создания отчетов. Я переключился на testcafe-reporter-junit и экспортировал отчет об испытаниях junit. Затем используйте тестовый издатель для файлов junit, и все работает.

Поскольку переход на VSTest также решил проблему, возможно, проблема возникла только у тестового издателя xunit.

person bamchris    schedule 15.02.2020
comment
У меня была такая же проблема, но она заработала, используя JUnit в задаче Azure DevOps и XUnit в формате вывода фреймворка робота. - person Panu Oksala; 24.04.2020