Partager via


Règles d’utilisation de MSTest

Règles permettant une utilisation correcte de MSTest.

Identificateur Name Description
MSTEST0002 TestClassShouldBeValidAnalyzer Une classe de test, classe marquée de l’attribut [TestClass], doit respecter le layout suivant pour être considérée comme valide par MSTest :
- elle doit être public (ou internal si l’attribut [assembly: DiscoverInternals] est défini)
- elle ne doit pas être static
- elle ne doit pas être générique.
MSTEST0003 TestMethodShouldBeValidAnalyzer Une méthode de test, méthode marquée de l’attribut [TestMethod], doivent respecter le layout suivant pour être considérée comme valide par MSTest :
- elle doit être public (ou internal si l’attribut [assembly: DiscoverInternals] est défini)
- elle ne doit pas être static
- elle ne doit pas être générique
- elle ne doit pas être abstract
- le type de retour doit être void ou Task
- elle ne doit pas être async void
- elle ne doit pas être une méthode spéciale (par exemple, finaliseur ou opérateur).
MSTEST0005 TestContextShouldBeValidAnalyzer La propriété TestContext doit respecter la disposition suivante pour être valide :
- il doit s’agir d’une propriété
- elle doit être public (ou internal si l’attribut [assembly: DiscoverInternals] est défini)
- elle ne doit pas être static
- elle ne doit pas être en lecture seule.
MSTEST0007 UseAttributeOnTestMethodAnalyzer Les attributs de test suivants doivent être appliqués seulement à des méthodes marquées avec l’attribut TestMethodAttribute :
- [CssIteration]
- [CssProjectStructure]
- [Description]
- [ExpectedException]
- [Owner]
- [Priority]
- [TestProperty]
- [WorkItem]
MSTEST0008 TestInitializeShouldBeValidAnalyzer Les méthodes marquées avec [TestInitialize] doivent suivre la disposition suivante pour être valides :
- elle doit être public
- elle ne doit pas être static
- elle ne doit pas être générique
- elle ne doit pas être abstract
- elle ne doit pas accepter de paramètre
- le type de retour doit être void, Task ou ValueTask
- elle ne doit pas être async void
- elle ne doit pas être une méthode spéciale (finaliseur, opérateur...).
MSTEST0009 TestCleanupShouldBeValidAnalyzer Les méthodes marquées avec [TestCleanup] doivent suivre la disposition suivante pour être valides :
- elle doit être public
- elle ne doit pas être static
- elle ne doit pas être générique
- elle ne doit pas être abstract
- elle ne doit pas accepter de paramètre
- le type de retour doit être void, Task ou ValueTask
- elle ne doit pas être async void
- elle ne doit pas être une méthode spéciale (finaliseur, opérateur...).
MSTEST0010 ClassInitializeShouldBeValidAnalyzer Les méthodes marquées avec [ClassInitialize] doivent suivre la disposition suivante pour être valides :
- elle doit être public
- elle doit être static
- elle ne doit pas être générique
- elle doit prendre un paramètre de type TestContext
- le type de retour doit être void, Task ou ValueTask
- elle ne doit pas être async void
- elle ne doit pas être une méthode spéciale (finaliseur, opérateur...).
MSTEST0011 ClassCleanupShouldBeValidAnalyzer Les méthodes marquées avec [ClassCleanup] doivent suivre la disposition suivante pour être valides :
- elle doit être public
- elle doit être static
- elle ne doit pas être générique
- elle ne doit pas accepter de paramètre
- le type de retour doit être void, Task ou ValueTask
- elle ne doit pas être async void
- elle ne doit pas être une méthode spéciale (finaliseur, opérateur...).
MSTEST0012 AssemblyInitializeShouldBeValidAnalyzer Les méthodes marquées avec [AssemblyInitialize] doivent suivre la disposition suivante pour être valides :
- elle doit être public
- elle doit être static
- elle ne doit pas être générique
- elle doit prendre un paramètre de type TestContext
- le type de retour doit être void, Task ou ValueTask
- elle ne doit pas être async void
- elle ne doit pas être une méthode spéciale (finaliseur, opérateur...).
MSTEST0013 AssemblyCleanupShouldBeValidAnalyzer Les méthodes marquées avec [AssemblyCleanup] doivent suivre la disposition suivante pour être valides :
- elle doit être public
- elle doit être static
- elle ne doit pas être générique
- elle ne doit pas accepter de paramètre
- le type de retour doit être void, Task ou ValueTask
- elle ne doit pas être async void
- elle ne doit pas être une méthode spéciale (finaliseur, opérateur...).
MSTEST0014 DataRowShouldBeValidAnalyzer Les instances [DataRow] doivent respecter la disposition suivante pour être valides :
- elles doivent uniquement être définies sur une méthode de test
- le nombre d’arguments doit correspondre au nombre de paramètres de méthode
- le type d’argument doit correspondre au type d’argument de méthode
MSTEST0017 LesArgumentsDeL'AssertionDoiventÊtrePassésDansLeBonOrdre Les arguments d’assertion doivent être transmis dans le bon ordre
MSTEST0018 AnalyseurDeDonnéesDynamiquesDoitÊtreValide Les méthodes marquées avec [DynamicData] doivent également être marquées avec [TestMethod] (ou un attribut dérivé)
MSTEST0023 DoNotNegateBooleanAssertionAnalyzer Ne niez pas les assertions booléennes
MSTEST0024 DoNotStoreStaticTestContextAnalyzer Ne pas stocker TestContext dans un membre statique
MSTEST0026 AssertionArgsShouldAvoidConditionalAccessRuleId Éviter l’accès conditionnel dans les assertions
MSTEST0030 TypeContainingTestMethodShouldBeATestClass Le type contenant [TestMethod] doit être marqué avec [TestClass]
MSTEST0031 DoNotUseSystemDescriptionAttribute « System.ComponentModel.DescriptionAttribute » n’a aucun effet dans le contexte des tests
MSTEST0032 ReviewAlwaysTrueAssertConditionAnalyzer Passez en revue ou supprimez l’assertion, car sa condition est connue pour avoir toujours la valeur true
MSTEST0034 UseClassCleanupBehaviorEndOfClass Utilisez ClassCleanupBehavior.EndOfClass avec [ClassCleanup]
MSTEST0035 UseDeploymentItemWithTestMethodOrTestClassTitle [DeploymentItem] ne peut être spécifié que sur la classe de test ou la méthode de test
MSTEST0037 UseProperAssertMethodsAnalyzer Utilisez des méthodes Assert appropriées
MSTEST0038 AvoidAssertAreSameWithValueTypesAnalyzer N’utilisez pas Assert.AreSame ou Assert.AreNotSame avec des types valeur
MSTEST0039 UseNewerAssertThrowsAnalyzer Utilisez des méthodes Assert.Throws plus récentes
MSTEST0040 AvoidUsingAssertsInAsyncVoidContextAnalyzer Pas d’assertions dans les contextes « async void »