如何在 azure 构建管道中添加自动化测试

时间:2021-01-17 23:11:04

标签: azure selenium azure-devops devops

我想向我现有的 azure 管道添加一些自动化测试(可以是 selenium c#/java 测试)。我的管道工作正常,即当我将更改推送到我的主分支 (GitHub) 时,它会触发构建并将其部署到实时。但是我想集成一些自动化测试来决定是否部署构建示例:

提交到主分支后: 运行自动化测试 如果测试通过 > 部署 如果测试失败 > 停止部署

任何建议或参考资料都会有所帮助。

谢谢,

2 个答案:

答案 0 :(得分:0)

取决于您要运行的测试类型 - 如果它们是单元测试,则很容易,但是 selenium 测试您需要在运行测试之前将其部署到网络服务器。

编辑管道时,如果尚未完成,请单击“显示帮助”,您可以看到任务,包括测试仪表板等。

例如,如果您添加一个 VStests,它会在 yaml 文件中添加类似这样的内容。

- task: DotNetCoreCLI@2 inputs: command: test projects: '**/*Tests/*.csproj' arguments: '-- no-build --configuration $(buildConfiguration)'

上面只是执行“dotnet test”命令,该命令将在项目中查找测试并运行它们。

它正在执行命令行,因此您可以运行任何测试,只要您可以使用批处理/powershell 命令提供命令行。

https://docs.microsoft.com/en-us/learn/modules/run-quality-tests-build-pipeline/ 的 Microsoft 教程解释了如何使用测试 wigits 等。

我建议在尝试 selenium 之前先从更简单的单元测试开始。

克里斯

答案 1 :(得分:0)

您可以指定运行每个阶段、作业或步骤的 conditions。默认情况下,如果作业或阶段不依赖于任何其他作业或阶段,或者它所依赖的所有作业或阶段都已完成并成功,则该作业或阶段会运行。默认情况下,如果一个步骤的作业中没有任何内容失败并且紧接它之前的步骤已经完成,则该步骤将运行。

换句话说,如果测试步骤/作业/阶段通过,则可以进行下一步/作业/阶段。

相关问题