dotnet test vs Azure Pipelines
От: VladCore  
Дата: 24.03.20 03:25
Оценка:
Вот на саммари билда видно, что упал шаг, удачно названный как "dotnet test on Linux/OSX"

Но на самом поле tests and coverage глупо написано что "100% passed". Фактически увидеть можно только те тесты которые прошли в самой странице с тестами, а упавшие видны только в консольном логе.

Нельзя ли как например в AppVeyor что бы кликом по tests result показывало какие тесты упали и в каком JOB-е?
Но в AppVeyor наапротив каждой Job свой отчет по тестам, а в Azure Pipelines — один на все JOB-ы.

Поделитесь please понятным azure-pipelines.yml кто понял суть

вот фрагмент azure-pipelines.yml сейчас который — никаких рокет сайнсов:
  - script: |
        dotnet test --logger trx -f netcoreapp2.2 -c Release /p:CollectCoverage=true /p:CoverletOutputFormat=opencover /p:CoverletOutput=$(Build.SourcesDirectory)/coverage/
    condition: ne(variables['OS'], 'Windows')
    displayName: 'dotnet test on Linux/OSX'

# ......

  - task: PublishBuildArtifacts@1
    inputs:
      pathtoPublish: '$(Build.Repository.LocalPath)'
      artifactName: '$(Agent.JobName)-$(Build.BuildNumber)'


что бы было понятней — картинка со стрелочками:


P.S. Насколько я понимаю PublishBuildArtifacts@1 никак не влияет на то как azure pipelines парсит тест-резалты?
Отредактировано 24.03.2020 3:32 VladCore . Предыдущая версия .
Re: dotnet test vs Azure Pipelines
От: agos Россия http://trtrmitya.wordpress.com
Дата: 24.03.20 04:53
Оценка:
Здравствуйте, VladCore, Вы писали:



VC>Но на самом поле tests and coverage глупо написано что "100% passed".

Мне кажется, что публикация результатов нужна.

Попробуйте использовать таску https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/test/vstest?view=azure-devops

Там сразу всё делается.
Обратите внимание на:

The vstest demand can be satisfied in two ways:

Visual Studio is installed on the agent machine.

By using the Visual Studio Test Platform Installer task in the pipeline definition.



VC>P.S. Насколько я понимаю PublishBuildArtifacts@1 никак не влияет на то как azure pipelines парсит тест-резалты?

Не, не связано
Не переходите улицу на тот свет..
Re[2]: dotnet test vs Azure Pipelines
От: VladCore  
Дата: 24.03.20 05:39
Оценка:
Здравствуйте, agos, Вы писали:


VC>>Но на самом поле tests and coverage глупо написано что "100% passed".

A>Мне кажется, что публикация результатов нужна.

т.е. если написать:

dotnet test .... || true


то Azure Pipelines будет считать билд упавшим если хотя бы один тест упадет несмотря на то что exit code будет 0?

A>Попробуйте использовать таску https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/test/vstest?view=azure-devops


во первых это только для Visual Studio и Windows,
а во вторых спеки я и сам умею читать.

я спрашивал про пример в azure-pipelines.yml у тех кто понимает что такое dotnet test и чем он отличается от тасков с Visual Studio
Re[3]: dotnet test vs Azure Pipelines
От: Danchik Украина  
Дата: 24.03.20 05:53
Оценка: 3 (1)
Здравствуйте, VladCore, Вы писали:

VC>во первых это только для Visual Studio и Windows,

VC>а во вторых спеки я и сам умею читать.

VC>я спрашивал про пример в azure-pipelines.yml у тех кто понимает что такое dotnet test и чем он отличается от тасков с Visual Studio


Держи, изучай. В readme.md описано что тестируется. Win + Linux + Mac. Делал это не я, по этому слишком уж не помогу.
https://github.com/linq2db/linq2db/tree/release.3.0/Build/Azure
Re[4]: Это оно?
От: VladCore  
Дата: 24.03.20 06:31
Оценка:
Здравствуйте, Danchik, Вы писали:

D>Держи, изучай. В readme.md описано что тестируется. Win + Linux + Mac. Делал это не я, по этому слишком уж не помогу.

D>https://github.com/linq2db/linq2db/tree/release.3.0/Build/Azure

Это оно?

    - task: PublishTestResults@2
      condition: succeededOrFailed()
      inputs:
        testRunner: VsTest
        testResultsFiles: '**/*.trx'
        testRunTitle: 'Linux / NETCOREAPP2.1 / $(title)'


тут все что как бы должно быть: и '**/*.trx' и succeededOrFailed() и PublishTestResults@2 и Linux
Отредактировано 24.03.2020 6:32 VladCore . Предыдущая версия .
Re[5]: Это оно?
От: Danchik Украина  
Дата: 24.03.20 09:15
Оценка:
Здравствуйте, VladCore, Вы писали:

VC>Здравствуйте, Danchik, Вы писали:


D>>Держи, изучай. В readme.md описано что тестируется. Win + Linux + Mac. Делал это не я, по этому слишком уж не помогу.

D>>https://github.com/linq2db/linq2db/tree/release.3.0/Build/Azure

VC>Это оно?


VC>
VC>    - task: PublishTestResults@2
VC>      condition: succeededOrFailed()
VC>      inputs:
VC>        testRunner: VsTest
VC>        testResultsFiles: '**/*.trx'
VC>        testRunTitle: 'Linux / NETCOREAPP2.1 / $(title)'
VC>


VC>тут все что как бы должно быть: и '**/*.trx' и succeededOrFailed() и PublishTestResults@2 и Linux


Я не понял в чем вопрос. Эти пайплайны тестируют на всем и выкладывают результаты тестов туда куда надо
https://dev.azure.com/linq2db/linq2db/_build/results?buildId=1742&view=ms.vss-test-web.build-test-results-tab
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.