У меня есть конвейер сборки, как показано ниже
variables:
- name: BuildParameters.solution
value: '**/*.sln'
- name: buildConfiguration
value: Release
name: $(date:yyyyMMdd)$(rev:.r)
trigger: none
resources:
repositories:
- repository: self
type: git
stages:
- stage: __default
jobs:
- job: Job_1
displayName: Agent job 1
pool:
vmImage: windows-2019
steps:
- task: UseDotNet@2
displayName: '.NET Core 3.1.404'
inputs:
version: '3.1.404'
packageType: sdk
- task: DotNetCoreCLI@2
enabled: true
displayName: dotnet test
continueOnError: true
timeoutInMinutes: 0
inputs:
command: test
projects: '**/*test/*.csproj'
arguments: --configuration $(buildConfiguration) --verbosity n --collect "Code coverage"
publishTestResults: true
- task: PublishTestResults@2
inputs:
testResultsFormat: XUnit
testResultsFiles: '**/TEST.xml'
mergeTestResults: true
failTaskOnFailedTests: true
Я намеренно сломал тест
Этот тест не пройден, но задача публикации результатов теста не проваливается полностью
я получаю предупреждение
##[warning]No test result files matching **/TEST.xml were found. xunit
Было ли у кого-нибудь такое?
Досадно, что если тест терпит неудачу, конвейер Azure классифицирует это как частичный успех, что не идеально. Я пытаюсь попасть в ситуацию, когда в случае сбоя теста мой конвейер не работает.
Этот пайплайн используется для проверки запросов на вытягивание — т. е. для сборки кода в PR и обеспечения прохождения всех тестов.
Когда я искал это, были ссылки на установку .NET 4.6.2 или более поздней версии, но это используется внутри конвейера сборки, поэтому не знаю, как это сделать.
Я что-то пропустил в тестовом задании dot net?
Павел