在Azure DevOps构建管道中运行测试

时间:2019-02-14 12:25:45

标签: java unit-testing junit azure-devops azure-pipelines

我想在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'.

是什么意思?

1 个答案:

答案 0 :(得分:0)

最后,我使用了可视设计器(如此处的解释:https://docs.microsoft.com/fr-fr/azure/iot-edge/how-to-ci-cd),并添加了Maven任务。

我将项目升级为使用Maven,它已经很好地集成到Azure Devops中。