java - 在 Azure DevOps Build Pipeline 中运行测试
问题描述
我想在 Azure DevOps 中创建一个构建管道,包括测试/代码覆盖率。
为此,我创建了一个非常基本的 Java 项目:
package main:
- main class
- Calculator class
- add method
package test:
- CalculatorTest class
- addTest method
这是非常基本的,只是为了让我了解管道中的测试是如何工作的。我不使用maven或类似的东西。对于测试,我使用的是 JUnit 框架。
在 Azure DevOps 管道中,我从 Github 导入了我的项目,并开始创建管道。我从入门模板开始,其中包含:
trigger:
- master
pool:
vmImage: 'Ubuntu-16.04'
steps:
- script: echo Hello, world!
displayName: 'Run a one-line script'
- script: |
echo Add other tasks to build, test, and deploy your project.
echo See https://aka.ms/yaml
displayName: 'Run a multi-line script'
我的问题是:
我该怎么做才能自动运行我的测试?
我在 Microsoft 文档中看到了几个示例,但它始终用于“复杂”项目(例如 maven 等)。而且我是 Azure DevOps 和 YAML 文件/语法的新手,我迷路了。
我想在每次提交后运行我的测试,并在管道摘要中查看结果(测试 + 代码覆盖率),如下所述:https ://docs.microsoft.com/en-us/azure/devops/pipelines /test/review-continuous-test-results-after-build?view=azure-devops#view-test-results-in-build
非常感谢。
PS:目前我只专注于测试,但一旦完成,我也想发布构建工件。我想确认一下:
- task: PublishBuildArtifacts@1
那条线正确吗?
编辑
该行- task: PublishBuildArtifacts@1
似乎可以正常工作,但我有以下警告:
Directory '/home/vsts/work/1/a' is empty. Nothing will be added to build artifact 'drop'.
这是什么意思 ?
解决方案
最后,我使用了可视化设计器(如下所述:https ://docs.microsoft.com/en-US/azure/iot-edge/how-to-ci-cd )并添加了 Maven 任务。
我升级了我的项目以使用 Maven,它很好地集成在 Azure Devops 中。
推荐阅读
- c++ - c++ 11 中的新 arr[on-the-fly-size]
- hive - 计算点与半径 HIVE 内的中心之间的距离
- node.js - MERN - TypeError:无法解构“req.body”的属性“用户名”,因为它未定义
- python - Pivot_table 为 Pivot Table 中未使用的 Row 引发 KeyError
- python - 如何在 Matplotlib 条形图中的图例上分配多个标签和颜色?
- c# - c#中的备忘录模式问题
- mysql - 查询得到太多结果左连接
- java - 如何模拟嵌套函数的异常?
- google-apps-script - 从 Calendly 创建新事件时触发 Google Calendar API
- python - 我使用 pyQt 在 python 中构建了一个 GUI,但它运行不正确。其他人能够正确运行它。我应该尝试什么?