Ale*_*. A 1 jasmine azure-devops
鉴于构建包含一个 Angular 应用程序,其中有 Jasmine 测试。我该怎么做才能将这些测试结果作为构建的一部分发布,更好的是,在成功执行所有 Jasmine 测试后确定构建结果?
您可以通过以下脚本和任务执行此操作:
ng testPublishTestResults任务发布测试结果PublishCodeCoverageResults任务发布代码覆盖率结果在Azure Pipelines YAML文件中,这可能如下所示:
# perform unit-tests and publish test and code coverage results
- script: |
npx ng test --watch=false --karmaConfig karma.conf.ci.js --code-coverage
displayName: 'perform unit tests'
- task: PublishTestResults@2
condition: succeededOrFailed()
inputs:
testResultsFormat: 'JUnit'
testResultsFiles: '**/TESTS-*.xml'
displayName: 'publish unit test results'
- task: PublishCodeCoverageResults@1
displayName: 'publish code coverage report'
condition: succeededOrFailed()
inputs:
codeCoverageTool: Cobertura
summaryFileLocation: '$(Build.SourcesDirectory)/coverage/cobertura-coverage.xml'
failIfCoverageEmpty: true
Run Code Online (Sandbox Code Playgroud)
@uminder 的 Azure 配置是正确的。
我会添加两件事,以便答案完整。这是创建 junit 报告和覆盖率文件所必需的 - 以便您稍后可以在 azure pipeline 中引用它们。
Run Code Online (Sandbox Code Playgroud)config.set({ plugins: [ ... require('karma-coverage'), require('karma-junit-reporter') ]
当然你需要安装它
npm install -D karma-junit-reporter
我还将在coverageReporter中添加一个cobertura到karma.config.js
coverageReporter: {
....
reporters: [
...
{ type: 'cobertura' } // TO BE ADDED
]
Run Code Online (Sandbox Code Playgroud)
}
| 归档时间: |
|
| 查看次数: |
2581 次 |
| 最近记录: |