MSTEST0003 : Les méthodes de test doivent avoir un layout valide
Propriété | Value |
---|---|
Identificateur de la règle | MSTEST0003 |
Titre | Les méthodes de test doivent avoir un layout valide |
Catégorie | Utilisation |
Le correctif est cassant ou non cassant | Rupture |
Activé par défaut | Oui |
Gravité par défaut | Avertissement (escaladé à Erreur quand MSTestAnalysisMode est défini sur Recommended ou All ) |
Introduit dans la version | 3.2.0 |
Existe-t-il une correction de code | Oui |
Cause
Une méthode d’essai ne respecte pas un ou plusieurs points du layout de la méthode d’essai requise.
Description de la règle
Les méthodes de test (méthodes marquées de l’attribut [TestMethod]
) doivent respecter le layout donné pour être considérées comme valides par MSTest :
- elle doivent être
public
(ouinternal
si[assembly: DiscoverInternals]
l’attribut est défini) - elles ne doivent pas être
static
- elles ne doivent pas être génériques si vous utilisez MSTest 3.7 ou une version antérieure
- elles ne doivent pas être
abstract
- elles doivent retourner
void
ouTask
- elles ne doivent pas être
async void
- elles ne doivent pas être une méthode spéciale (constructeur, finaliseur, opérateur...)
- le type déclarant cette méthode doit être public
Comment corriger les violations
Veillez à ce que la méthode d’essai corresponde au lay-out requis décrit ci-dessus.
Quand supprimer les avertissements
Ne supprimez aucun avertissement de cette règle. Si vous ignorez cette règle, les tests seront ignorés, du fait que MSTest ne considérera pas cette classe comme une méthode de test.
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 MSTEST0003
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0003
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.MSTEST0003.severity = none
Pour plus d’informations, consultez Comment supprimer les avertissements de l’analyse de code.