Partager via


MSTEST0008 : La méthode TestInitialize doit avoir une disposition valide

Propriété Value
Identificateur de la règle MSTEST0008
Titre La méthode TestInitialize doit avoir une disposition valide
Catégorie Utilisation
Le correctif est cassant ou non cassant Sans rupture
Activé par défaut Oui
Gravité par défaut Avertissement
Introduite dans la version 3.3.0
Existe-t-il une correction de code Oui

Cause

Une méthode marquée avec [TestInitialize] doit avoir une disposition valide.

Description de la règle

Les méthodes marquées avec [TestInitialize] doivent suivre la disposition suivante pour être valides :

  • elle doit être public
  • elle ne doit pas être abstract
  • elle ne doit pas être async void
  • elle ne doit pas être static
  • elle ne doit pas être une méthode spéciale (finaliseur, opérateur...).
  • elle ne doit pas être générique
  • elle ne doit pas accepter de paramètre
  • le type de retour doit être void, Task ou ValueTask

Le type déclarant ces méthodes doit également respecter les règles suivantes :

  • Le type doit être un class.
  • Le class doit être public ou internal (si le projet de test utilise l’attribut [DiscoverInternals]).
  • Le class ne devrait pas être static.
  • Si la class est sealed, elle doit être marquée avec [TestClass] (ou un attribut dérivé).

Comment corriger les violations

Veillez à ce que la méthode corresponde à la disposition décrite ci-dessus.

Quand supprimer les avertissements

Ne supprimez aucun avertissement de cette règle. Si vous ignorez cette règle, les instances marquées sont ignorées ou entraînent une erreur d’exécution.

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 MSTEST0008
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0008

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.MSTEST0008.severity = none

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