【问题标题】:Azure Devops - MSTest - How can I fail a build if my unit tests fail, but continue (with warning/notification) when integration test failAzure Devops - MSTest - 如果我的单元测试失败,我如何使构建失败,但在集成测试失败时继续(带有警告/通知)
【发布时间】:2020-05-27 08:09:40
【问题描述】:

我的解决方案中有两种类型的测试。测试我自己的应用程序功能的单元测试,以及测试我的应用程序与外部应用程序/服务交互的集成测试。

如果我的单元测试已经建立并且已经运行了一段时间。集成测试是新的,我担心外部系统中的故障可能导致我的测试失败,因此我的 CI/CD 管道停止,阻止我在外部服务备份之前部署任何东西。现在,如果我的单元测试失败,那是我的责任,但如果集成测试失败,则假设外部应用程序/服务已关闭。虽然我确实希望收到通知,但我不想被阻止让 CI/CD 管道构建和部署我的更改。

那么,我如何为我的构建设置“强制性”一组测试,而另一组是可选的,并且理想情况下会向我发送警告/通知以进一步调查,但允许 CI/CD 管道继续进行。

【问题讨论】:

  • 将集成测试拆分为单独的程序集。无论如何,这是一个很好的做法。
  • 我同意@DanielMann。然后,一旦你有了两个单独的程序集,就可以在管道中的不同步骤或作业中运行它们。如果集成测试失败,您可以使用条件继续流水线,但允许单元测试使整个流水线失败。
  • @TxRegex 没有得到你的最新信息,我认为上面的解决方法是可行的。或者,如果您有任何疑虑,请随时在此处分享。

标签: c# visual-studio unit-testing azure-devops mstest


【解决方案1】:

将其分成两个程序集,并为单独的程序集添加单独的任务。并在集成测试程序集上设置以下选项。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-04
    • 2019-10-17
    • 1970-01-01
    • 1970-01-01
    • 2015-04-25
    • 1970-01-01
    • 2010-11-28
    • 1970-01-01
    相关资源
    最近更新 更多