我想将一些自动化测试(可以是selenium c#/ java测试)添加到我现有的azure管道中。我的流水线工作正常,即当我将更改推送到我的主分支(GitHub)时,它会触发构建,并将其部署到live。但我想集成一些自动化测试,它将决定是否部署构建示例:
提交到主分支后:如果测试通过,则运行自动化测试>如果测试失败,则部署>停止部署
任何建议或参考资料都会很有帮助。
谢谢,
发布于 2021-01-18 10:54:51
这取决于您要运行的测试类型-如果是单元测试,则很容易,但是selenium测试您需要在运行测试之前将其部署到the服务器。
当编辑流水线时,如果还没有完成,点击“显示帮助”,你可以看到任务,包括测试仪表板等。
例如,如果您添加一个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/上的微软教程解释了如何使用测试wigits等。
在尝试selenium之前,我建议先从更简单的单元测试开始。
克利什
发布于 2021-01-18 17:37:31
您可以指定每个阶段、作业或步骤在其下运行的conditions。默认情况下,如果作业或阶段不依赖于任何其他作业或阶段,或者作业或阶段所依赖的所有作业或阶段都已完成并成功,则作业或阶段将运行。默认情况下,如果某个步骤的作业中没有任何内容失败,并且紧接其前一个步骤已完成,则该步骤将运行。
换句话说,如果测试步骤/作业/阶段通过,则下一步骤/作业/阶段可以继续进行。
https://stackoverflow.com/questions/65766942
复制相似问题