2017-01-06 4 views
0

У меня есть код на C++, который я создаю на jenkins. Я проверил UnitTest ++ 1.4, чтобы проверить код на C++, и это порождает TestResults*.xml.Как использовать сценарий сценария jenkins с UnitTest ++ 1.4

Это работает хорошо до тех пор, как я настроить Дженкинс построить работу с помощью веб-интерфейса:

Jenkins-xUnit-Web

Для новой работы сборки я должен использовать Дженкинс трубопровод плагин вместо этого, так что я должен написать файл Дженкинса. Для оценки моей TestResults*.xml, я нашел только две альтернативы:

junit 'TestResults*.xml' 
step([$class: 'JUnitResultArchiver', testResults: 'TestResults*.xml']) 

Но ни один из них не работает. Кажется, что формат junit xml отличается от UnitTest ++ 1.4.

Кто-нибудь знает, какой оператор Jenkinsfile необходим для правильного использования результатов теста XML-теста UnitTest ++ 1.4?

ответ

0

Решение состоит в том, чтобы использовать плагин xUnit вместо JUnit-плагина. Как это:

step([ 
    $class: 'XUnitBuilder', testTimeMargin: '3000', thresholdMode: 1, 
    thresholds: [ 
     [$class: 'FailedThreshold', failureNewThreshold: '', failureThreshold: '0', unstableNewThreshold: '', unstableThreshold: ''], 
     [$class: 'SkippedThreshold', failureNewThreshold: '', failureThreshold: '', unstableNewThreshold: '', unstableThreshold: ''] 
    ], 
    tools: [[ 
     $class: 'UnitTestJunitHudsonTestType', 
     deleteOutputFiles: true, 
     failIfNotNew: true, 
     pattern: 'result.xml', 
     skipNoTestFiles: false, 
     stopProcessingIfError: true 
    ]] 
]) 
+0

Вы также можете использовать [генератор Snippet] (https://jenkins.io/doc/book/pipeline/getting-started/#snippet-generator), чтобы создать код для таких шагов –