Partage via


MSTEST0013 : La méthode AssemblyCleanup doit avoir une disposition valide

Propriété Value
Identificateur de la règle MSTEST0013
Titre La méthode AssemblyCleanup 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 [AssemblyCleanup] doit avoir une disposition valide.

Description de la règle

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

  • elle doit être public
  • elle doit être static
  • elle ne doit pas être async void
  • elle ne doit pas être une méthode spéciale (finaliseur, opérateur...).
  • elle ne doit pas être générique
  • il ne doit pas être abstrait
  • Il ne doit pas prendre de paramètre, ou à partir de MSTest 3.8, il peut avoir un seul paramètre TestContext.
  • 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 une classe.
  • La classe doit être publique ou interne (si le projet de test utilise l’attribut [DiscoverInternals]).
  • La classe doit être marquée avec [TestClass] (ou un attribut dérivé)
  • la classe ne doit pas être générique

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 souhaitez simplement supprimer une seule violation, ajoutez des directives de préprocesseur à votre fichier source pour désactiver, puis réactivez la règle.

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

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

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

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