Partage via


MSTEST0037 : Utiliser les bonnes méthodes « Assert »

Property Valeur
Identificateur de la règle MSTEST0037
Titre Utilisez les bonnes méthodes « Assert »
Catégorie Utilisation
Le correctif est cassant ou non cassant Inaltérable
Activé par défaut Oui
Sévérité par défaut Informations
Introduit dans la version 3.7.0
Existe-t-il une correction de code Oui

Cause

L’utilisation des méthodes Assert d’une manière spécifique lorsqu’il existe une meilleure alternative.

Description de la règle

Il existe plusieurs cas où vous obtenez cet avertissement :

  • L’utilisation de Assert.IsTrue(<expression> == null) (avec toutes les combinaisons, comme IsFalse, != null, is null ou is not null).

    Utiliser Assert.IsNull(<expression>) ou Assert.IsNotNull(<expression>) est une meilleure alternative.

  • L’utilisation de Assert.IsTrue(<expression1> == <expression2>) (avec toutes les combinaisons, comme IsFalse ou !=).

    Utiliser Assert.AreEqual(<expression1>, <expression2>) ou Assert.AreNotEqual(<expression1>, <expression2>) est une meilleure alternative.

  • L’utilisation de Assert.AreEqual(true, <expression>) ou Assert.AreEqual(false, <expression>).

    Utiliser Assert.IsTrue(<expression>) ou Assert.IsFalse(<expression>) est une meilleure alternative.

  • L’utilisation de Assert.AreEqual(null, <expression>) ou Assert.AreNotEqual(null, <expression>).

    Utiliser Assert.IsNull(<expression>) ou Assert.IsNotNull<expression> est une meilleure alternative.

Dans de nombreux cas, les meilleures alternatives offrent de meilleurs messages en cas d’échec et sont aussi plus lisibles.

Comment corriger les violations

Utilisez la méthode de meilleure alternative.

Quand supprimer les avertissements

Si l’assert a pour but de vérifier le comportement d’un opérateur défini par l’utilisateur, vous pouvez et devez supprimer l’avertissement.

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 MSTEST0037
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0037

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.MSTEST0037.severity = none

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