Синтаксис конвейера анализатора результатов испытаний Jenkins NUnit

Jenkins 2.85 Конвейерный скрипт

Я пытаюсь настроить Анализатор результатов теста, чтобы я мог прикрепить эти отчеты к электронному письму. Файл TestResult.xml создается при запуске моей сборки.

Я попытался запустить следующую строку на моей стадии тестирования:

step([$class: 'NUnitPublisher', testResultsPattern: 'build\\TestResult.xml', debug: false, keepJUnitReports: true, skipJUnitArchiver:false, failIfNoResults: true])

Пример:

stage('Test: Check if IIS webApp ON') {
bat 'C:/"Program Files (x86)"/NUnit.org/nunit-console/nunit3-console.exe screenShots/screenShots/bin/Debug/screenShots.dll'
step([$class: 'NUnitPublisher', testResultsPattern: 'build\\TestResult.xml', debug: false, keepJUnitReports: true, skipJUnitArchiver:false, failIfNoResults: true])
    }

Как я могу сделать так, чтобы мои тесты отображались в Test Result Analyzer?

Кроме того, я хочу быть уверен, что мой код не позволяет публиковать результаты теста. Нужно ли добавлять публикацию в строку "наконец"?

node {    try {
        notifyBuild('STARTED')

    stage('Checkout') {
    checkout([$class: 'SubversionSCM',
        additionalCredentials: [], 
        excludedCommitMessages: '', 
        excludedRegions: '', 
        excludedRevprop: '', 
        excludedUsers: 'buildbot', 
        filterChangelog: false, 
        ignoreDirPropChanges: false, 
        includedRegions: '', 
        locations: [[credentialsId: 'xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx', 
            depthOption: 'infinity', 
            ignoreExternalsOption: true, 
            local: '.', 
            remote: "http://my.svn.repo.com/svn/apps/folder"]],
        workspaceUpdater: [$class: 'UpdateUpdater']])
    }

/*    stage('Build webApp') {          
    bat 'C:/"Program Files (x86)/Microsoft Visual Studio"/2017/Community/MSBuild/15.0/Bin/MSBuild.exe webApp/webApp.sln  /m  /p:VisualStudioVersion=15.0'   //msbuild     
}*/

stage('Build Selenium Tests') {          
    bat 'C:/"Program Files (x86)/Microsoft Visual Studio"/2017/Community/MSBuild/15.0/Bin/MSBuild.exe screenShots/screenShots.sln  /m  /p:VisualStudioVersion=15.0'   //msbuild     
}

stage('Test: Check if IIS webApp ON') {
    bat 'C:/"Program Files (x86)"/NUnit.org/nunit-console/nunit3-console.exe screenShots/screenShots/bin/Debug/screenShots.dll'

}

} catch (e) {
    // If there was an exception thrown, the build failed
    currentBuild.result = "FAILED"
    throw e
  } finally {
    // Success or failure, always send notifications
    notifyBuild(currentBuild.result)
  }
} 

def notifyBuild(String buildStatus = 'STARTED') {
  // build status of null means successful
  buildStatus =  buildStatus ?: 'SUCCESSFUL'

// Default values
  def colorName = 'RED'
  def colorCode = '#FF0000'
  def subject = "${buildStatus}: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]'"
  def summary = "${subject} (${env.BUILD_URL})"

  // Override default values based on build status
  if (buildStatus == 'STARTED') {
    color = 'YELLOW'
    colorCode = '#FFFF00'
  } else if (buildStatus == 'SUCCESSFUL') {
    color = 'GREEN'
    colorCode = '#00FF00'
  } else {
    color = 'RED'
    colorCode = '#FF0000'
  }

  // Send notifications
  slackSend (color: colorCode, message: summary)

  emailext subject: '$DEFAULT_SUBJECT',
                        body: '$DEFAULT_CONTENT',
                        recipientProviders: [
                            [$class: 'CulpritsRecipientProvider'],
                            [$class: 'DevelopersRecipientProvider'],
                            [$class: 'RequesterRecipientProvider']
                        ], 
                        replyTo: '$DEFAULT_REPLYTO',
                        to: '$DEFAULT_RECIPIENTS'
} 

1 ответ

Добавив следующий код в мой раздел, наконец, он начал записывать результаты моего теста:

step([$class: 'NUnitPublisher', testResultsPattern: 'build\\TestResult.xml', debug: false, keepJUnitReports: true, skipJUnitArchiver:false, failIfNoResults: true])
Другие вопросы по тегам