Синтаксис конвейера анализатора результатов испытаний 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])