单元和集成测试如何在 VSTS 下处理单独的项目?



在实现单元测试和集成测试时,据我所知,我们应该在测试项目的同一解决方案中创建一个单独的项目。

我不明白如果我们处理两个单独的项目(一个与我的 Web 应用程序,另一个与测试),我如何在同一个 Ci/Cd 管道上启动"测试",以及来自测试项目的"测试"如何阻止 Web 应用程序项目的其余 Ci/Cd 管道。

如果我将所有解决方案项目放入同一个远程存储库中,它是否可用?

我需要一些关于在 VSTS 下处理此需求的正确方法的基本准则

这是我使用 ASP.NET Core 的用例:

  1. 我在功能分支上本地开发(从开发分支)
  2. 我提交,然后将我的功能分支推送到远程服务器 (VSTS)
  3. 我将功能分支公转到我的开发分支
  4. 如果它有效,则触发 CI/CD 管道,启动我的 Web 应用程序项目的构建:然后在 CI 管道上,我应该播放我所有的测试(来自测试项目)
  5. 如果所有测试都通过,我希望管道继续,然后触发 CD 管道
  6. 如果任何测试失败,我希望停止管道的其余部分

您可以将测试项目/解决方案放入同一存储库(不推荐),只需创建新文件夹并在该文件夹中复制测试项目,然后提交并推送更改。

更好的方法是可以在生成期间检索测试项目:

  1. 编辑生成定义
  2. 选择一个阶段,然后单击允许脚本访问 OAuth 令牌选项
  3. 添加命令行任务(工具:git;参数:clone https://test:$(System.AccessToken)@XXX.visualstudio.com/[team project]/_git/[repository] [target folder name];工作文件夹:$(Build.SourcesDirectory))
  4. (可选)添加构建任务以构建测试项目
  5. 用于构建 Web 项目的生成任务
  6. 发布
  7. /部署任务以发布 Web 项目或调用命令以运行 Web 应用。
  8. 测试任务做测试。
  9. 其他任务

最新更新