MSTEST0021 : privilégiez Dispose plutôt que les méthodes TestCleanup
Propriété | Value |
---|---|
Identificateur de la règle | MSTEST0021 |
Titre | Préférer les méthodes Dispose aux méthodes TestCleanup |
Catégorie | Concevoir |
Le correctif est cassant ou non cassant | Sans rupture |
Activé par défaut | Non |
Gravité par défaut | Infos |
Introduite dans la version | 3.4.0 |
Existe-t-il une correction de code | Oui, à compter de la version 3.7.0 |
Cause
Cette règle génère un diagnostic lorsqu'il y a une méthode void [TestCleanup]
ou [TestCleanup]
si l’infrastructure ciblée prend en charge l’interface IAsyncDisposable
.
Description de la règle
L’utilisation de Dispose
ou de DisposeAsync
est un modèle plus courant et certains développeurs préfèrent toujours utiliser ce modèle même pour les tests.
Comment corriger les violations
Remplacez la méthode [TestCleanup]
par le modèle Dispose
ou DisposeAsync
.
Quand supprimer les avertissements
En général, nous recommandons de ne pas supprimer les avertissements de cette règle si vous avez décidé de l’accepter.
Remarque
Cette règle nécessite une participation volontaire. Elle n’est pas activée, même en utilisant <MSTestAnalysisMode>All</MSTestAnalysisMode>
. Pour plus d'informations sur MSTestAnalysisMode
, consultez analyse de code MSTest.
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 MSTEST0021
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0021
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.MSTEST0021.severity = none
Pour plus d’informations, consultez Comment supprimer les avertissements de l’analyse de code.