Генерация отчета о тестировании с использованием плагина MSTest - PullRequest
0 голосов
/ 28 февраля 2019

Я испытываю странный эффект при использовании плагина MStest.Мой тестовый отчет генерируется только тогда, когда тест пройден успешно, но если он не проходит, тестовый отчет не создается.Благодаря этому ответу Интеграция Jenkins для дотнет-теста мой конвейер выглядит следующим образом

node {
        stage('Checkout') {
            cleanWs()
            checkout scm

            return
            skipRemainingStages = true
        }


        stage('Restore') {

            sh "dotnet restore  $project1"

        }

        stage('Build') {
            sh "dotnet publish $project1 --output $outputFolder --configuration Release -p:Version=$buildVersion -p:FileVersion=$buildVersion"

       }
        stage ('Unit test') {

               sh  "dotnet restore $UnitTest"
               sh returnStdout: true, script: "dotnet test $UnitTest --logger \'trx;LogFileName=unit_tests.xml\' "

               step ([$class: 'MSTestPublisher', testResultsFile:"**/*.xml", failOnError: true, keepLongStdio: true])

        } 
}

Журнал:

--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
Results File: /var/jenkins_home/workspace/myproject/Build_master/myproject/TestResults/unit_tests.xml

Total tests: 16. Passed: 8. Failed: 8. Skipped: 0.
Test Run Failed.
Test execution time: 15.9443 Seconds


[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // withEnv
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
ERROR: script returned exit code 1
Finished: FAILURE

Я не знаю, почему отчеты об испытанияхне генерируется при сбое теста.Спасибо введите описание изображения здесь

1 Ответ

0 голосов
/ 28 февраля 2019

Ваши тесты не соответствуют вашей сборке, поэтому вы никогда не сможете опубликовать результаты тестов.

У вас есть два способа решения этой проблемы - либо настройте свои тесты так, чтобы они не возвращали ненулевой статус при неудачных тестах.

Или игнорировать

sh "dotnet test $UnitTest --logger \'trx;LogFileName=unit_tests.xml\' || true"
...