Partager via


MSTEST0003 : Les méthodes de test doivent avoir un layout valide

Propriété Value
Identificateur de la règle MSTEST0003
Titre Les méthodes de test doivent avoir un layout valide
Catégorie Utilisation
Le correctif est cassant ou non cassant Rupture
Activé par défaut Oui
Gravité par défaut Avertissement (escaladé à Erreur quand MSTestAnalysisMode est défini sur Recommended ou All)
Introduit dans la version 3.2.0
Existe-t-il une correction de code Oui

Cause

Une méthode d’essai ne respecte pas un ou plusieurs points du layout de la méthode d’essai requise.

Description de la règle

Les méthodes de test (méthodes marquées de l’attribut [TestMethod]) doivent respecter le layout donné pour être considérées comme valides par MSTest :

  • elle doivent être public (ou internal si [assembly: DiscoverInternals] l’attribut est défini)
  • elles ne doivent pas être static
  • elles ne doivent pas être génériques si vous utilisez MSTest 3.7 ou une version antérieure
  • elles ne doivent pas être abstract
  • elles doivent retourner void ou Task
  • elles ne doivent pas être async void
  • elles ne doivent pas être une méthode spéciale (constructeur, finaliseur, opérateur...)
  • le type déclarant cette méthode doit être public

Comment corriger les violations

Veillez à ce que la méthode d’essai corresponde au lay-out requis décrit ci-dessus.

Quand supprimer les avertissements

Ne supprimez aucun avertissement de cette règle. Si vous ignorez cette règle, les tests seront ignorés, du fait que MSTest ne considérera pas cette classe comme une méthode de test.

Supprimer un avertissement

Si vous voulez supprimer une seule violation, ajoutez des directives de préprocesseur à votre fichier source pour désactiver et réactiver la règle.

#pragma warning disable MSTEST0003
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0003

Pour désactiver la règle sur un fichier, un dossier ou un projet, définissez sa gravité sur none dans le fichier de configuration.

[*.{cs,vb}]
dotnet_diagnostic.MSTEST0003.severity = none

Pour plus d’informations, consultez Comment supprimer les avertissements de l’analyse de code.