我想在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'.
是什么意思?
答案 0 :(得分:0)
最后,我使用了可视设计器(如此处的解释:https://docs.microsoft.com/fr-fr/azure/iot-edge/how-to-ci-cd),并添加了Maven任务。
我将项目升级为使用Maven,它已经很好地集成到Azure Devops中。