Gitlab offre une option pour désactiver/mettre en quarantaine les tests floconneux comme mentionné dans la documentation GitLab . Je comprends que ce n'est pas la meilleure des pratiques, mais je veux l'explorer.

Certains des exemples que j'ai pu trouver sont ici - Tests de quarantaine qui sont très feuilleté mais en langage rubi. Aidez-nous à comprendre si cela peut être fait dans des langages comme C# (Dotnet) ou Java. Un exemple avec qui sera très apprécié.

Selon la documentation :

Si le test ne peut pas être corrigé à temps, il y a un impact sur la productivité de tous les développeurs, il doit donc être placé en quarantaine en attribuant les :métadonnées de quarantaine.

Je ne suis pas en mesure de comprendre comment nous pouvons le faire dans les tests utilisant NUnit (dotnet) ou JUnit (Java)

2
Googi 16 nov. 2020 à 12:54

1 réponse

Meilleure réponse

Le test du document Flaky se trouve dans la section contributeur ne doit pas être lu comme une documentation du produit destiné aux utilisateurs de GitLab. La page liée à la question décrit les directives et les procédures que les développeurs de GitLab doivent exécuter lorsqu'ils rencontrent un test floconneux dans la propre base de code de GitLab. La fonctionnalité pour désactiver/mettre en quarantaine le test floconneux ne semble pas être actuellement prévue pour la mise en œuvre. Vous pouvez voter ou commenter ce problème ouvert pour le même ici!.

Comme solution à cela avec les ressources existantes, vous pouvez utiliser allow_failure: l'étape/le travail requis dans le pipeline.

Dans ce cas, vous aurez 2 Jobs :

  1. Avec test non floconneux + allow_failure : false
  2. Avec Flaky Test + allow_failure : true
    exemple 1 exemple 2

De cette façon, les cas de test censés être floconneux ne sont gérés que par le JOB 2 qui est autorisé à échouer et ne bloque jamais le pipeline.

Maintenant, une suggestion pour identifier/filtrer le test au niveau du travail : vous pouvez utiliser le filtre au niveau du test avec un attribut de catégorie. Ou peut le lire à partir de TextFile/DataSource et filtrer sur cette base.

1
Meow 19 nov. 2020 à 07:02