GitLab 中的隔离测试

Quarantine Test in GitLab

Gitlab 提供 mute/quarantine 片状测试的选项,如 GitLab 文档中所述。 我知道这不是最佳做法,但确实想探索它。

我能找到的一些示例在此处 - Quarantine tests that are very flaky 但使用的是 rubi 语言。 请帮助理解这是否可以用 C# (Dotnet) 或 Java 等语言完成。一个这样的例子将不胜感激。

根据文档:

如果测试不能及时修复,会影响所有开发人员的生产力,所以应该通过分配 :quarantine 来隔离元数据.

我无法弄清楚我们如何在使用 NUnit (dotnet) 或 JUnit(Java) 的测试中做到这一点

文档 Flaky 测试在 contributor 部分下,不得将其阅读为面向 GitLab 用户的产品文档。 链接到问题的页面描述了 GitLab 的开发人员在 GitLab 自己的代码库中遇到不稳定测试时需要执行的指南和过程。 mute/quarantine 片状测试的功能目前似乎没有计划实施。 您可以对同一 here!.

打开的这个问题进行投票或评论

作为现有资源的解决方案,您可以在管道中使用 allow_failure: 所需的 step/Job。

在这种情况下,您将有 2 个工作:

  1. 使用 Non-Flaky 测试 + allow_failure: false
  2. 带有片状测试 + allow_failure: true
    example 1 example 2

通过这种方式,本应是不稳定的测试用例仅由 JOB 2 处理,它允许失败并且永远不会阻塞管道。

现在作为 identify/Filter 在作业级别测试的建议:您可以在测试级别使用具有某些类别属性的过滤器。或者可以从 TextFile/DataSource 读取它并以此为基础进行过滤。