azure - PublishCucumberReport - 找不到黄瓜报告的输出路径
问题描述
该插件在 Azure DevOps 上找不到文件并生成 HTML 报告
Azure Devops 插件 - https://marketplace.visualstudio.com/items?itemName=MaciejMaciejewski.azure-pipelines-cucumber
天蓝色管道.yml
jobs:
# Build Electron
- job: UserAcceptanceTest
displayName: E2E-Tests
pool:
name: ado-win-pool
timeoutInMinutes: 120
steps:
- task: CopyFiles@2
inputs:
sourceFolder: $(Build.SourcesDirectory)
targetFolder: $(Build.ArtifactStagingDirectory)
- task: PublishPipelineArtifact@1
displayName: 'Publishing build artifacts'
inputs:
targetPath: $(Build.ArtifactStagingDirectory)
- task: NodeTool@0
displayName: 'Install Node 12.x'
inputs:
versionSpec: 12.x
- task: PublishCucumberReport@1
displayName: 'Publish Cucumber Report'
inputs:
jsonDir: target/results/cucumber/
outputPath: target/results/cucumber/
实际的:
Found 0 matching C:/agent/_work/13/s/target/results/cucumber pattern
##[warning]Error: Not found outputPath: C:\agent\_work\13\s\target\results\cucumber
Finishing: Publish Cucumber Report
预期:找到黄瓜 JSON 文件。
解决方案
在上面的 yaml 管道中,您没有运行黄瓜测试以生成黄瓜 JSON 文件的步骤。
如果您的存储库中已经存在黄瓜 JSON 文件。然后 PublishCucumberReport 任务的错误是因为target/results/cucumber
您的存储库中不存在该目录。
然后您需要检查黄瓜 JSON 文件在您的存储库中的位置,并为 PublishCucumberReport 任务指定正确的路径。
如果您的存储库中不存在黄瓜 JSON 文件。您应该在 yaml 管道中添加步骤来运行您的测试。
如果您在 package.json 文件中配置了测试脚本,如下所示(report
repo 中必须存在文件夹):
您可以只运行来执行您的测试并在文件夹npm test
中生成 json 报告。report
见下文;
steps:
- task: NodeTool@0
displayName: 'Install Node 12.x'
inputs:
versionSpec: 12.x
- script: |
npm install
npm test
displayName: 'Run tests'
- task: PublishCucumberReport@1
inputs:
jsonDir: report
outputPath: report
如果您的 package.json 文件中没有定义测试脚本。您可以在 yaml 管道中运行 cucumber-js 命令生成 json 文件。见下文:
- script: |
#npm install cucumber
npm install
./node_modules/.bin/cucumber-js features -f json:report/cucumber_report.json
displayName: 'Run tests'
推荐阅读
- reactjs - 连接路由器 A
可能只有一个子元素,但它有一个子元素 - java - Java Web Start 应用程序读取本地文件
- django - 在 Django 中,中间模型是否需要与目标模型属于同一个文件?
- c - 检查平衡括号的C程序
- javascript - Jquery 包含特殊字符和小写
- python - PyInstaller 应用程序的设置图标
- amazon-web-services - AWS Glue - 读取 Amazon S3 存储桶中的所有对象
- actionscript - Flash Actionscript 2.0 localToGlobal 坐标问题
- ios - iOS:了解导航推送后何时加载两个视图控制器的最佳实践
- python - 如何将多个 NumPy 数组提供给 Keras 中的深度学习网络?