MSTEST0009 : La méthode TestCleanup devrait avoir une disposition valide
Propriété | Value |
---|---|
Identificateur de la règle | MSTEST0009 |
Titre | La méthode TestCleanup 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 [TestCleanup]
doit avoir une disposition valide.
Description de la règle
Les méthodes marquées avec [TestCleanup]
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
ouValueTask
Le type déclarant ces méthodes doit également respecter les règles suivantes :
- Le type doit être un
class
. - Le
class
doit êtrepublic
ouinternal
(si le projet de test utilise l’attribut[DiscoverInternals]
). - Le
class
ne devrait pas êtrestatic
. - Si la
class
estsealed
, 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 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 MSTEST0009
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0009
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.MSTEST0009.severity = none
Pour plus d’informations, consultez Comment supprimer les avertissements d’analyse du code.