MSTEST0024 : ne stockez pas TestContext dans un membre statique
Propriété | Value |
---|---|
Identificateur de la règle | MSTEST0024 |
Titre | Ne pas stocker TestContext dans un membre statique |
Catégorie | Utilisation |
Le correctif est cassant ou non cassant | Sans rupture |
Activé par défaut | Oui |
Gravité par défaut | Infos |
Introduite dans la version | 3.4.0 |
Existe-t-il une correction de code | Non |
Cause
Cette règle déclenche un diagnostic lorsqu’une affectation à un membre de static
est effectuée dans un paramètre TestContext
.
Description de la règle
Le paramètre TestContext
passé à chaque méthode d’initialisation ([AssemblyInitialize]
ou [ClassInitialize]
) est spécifique au contexte actuel et n’est pas mis à jour à chaque exécution de test. Le stockage de cet objet TextContext
en vue de sa réutilisation entraînera la plupart du temps des problèmes.
Comment corriger les violations
Ne stockez pas le paramètre [AssemblyInitialize]
ou [ClassInitialize]
TestContext
.
Quand supprimer les avertissements
Vous pouvez supprimer les avertissements de cette règle si vous êtes sûr que le comportement correspond à ce que vous voulez faire.
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 MSTEST0024
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0024
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.MSTEST0024.severity = none
Pour plus d’informations, consultez Comment supprimer les avertissements de l’analyse de code.