Condividi tramite


Regole di utilizzo di MSTest

Regole che supportano l'utilizzo appropriato di MSTest.

Identifier Name Description
MSTEST0002 TestClassShouldBeValidAnalyzer Una classe di test non segue uno o più punti del layout della classe di test richiesto.
MSTEST0003 TestMethodShouldBeValidAnalyzer Un metodo di test non segue uno o più punti del layout del metodo di test richiesto.
MSTEST0005 TestContextShouldBeValidAnalyzer Una proprietà di contesto del test non segue uno o più punti del layout del contesto del test richiesto.
MSTEST0007 UseAttributeOnTestMethodAnalyzer A un metodo non contrassegnato con TestMethodAttribute sono applicati uno o più attributi di test.
MSTEST0008 TestInitializeShouldBeValidAnalyzer Un metodo contrassegnato con [TestInitialize] deve avere un layout valido.
MSTEST0009 TestCleanupShouldBeValidAnalyzer Un metodo contrassegnato con [TestCleanup] deve avere un layout valido.
MSTEST0010 ClassInitializeShouldBeValidAnalyzer Un metodo contrassegnato con [ClassInitialize] deve avere un layout valido.
MSTEST0011 ClassCleanupShouldBeValidAnalyzer Un metodo contrassegnato con [ClassCleanup] deve avere un layout valido.
MSTEST0012 AssemblyInitializeShouldBeValidAnalyzer Un metodo contrassegnato con [AssemblyInitialize] deve avere un layout valido.
MSTEST0013 AssemblyCleanupShouldBeValidAnalyzer Un metodo contrassegnato con [AssemblyCleanup] deve avere un layout valido.
MSTEST0014 DataRowShouldBeValidAnalyzer Un'istanza di [DataRow] non segue uno o più punti del layout richiesto DataRow.
MSTEST0017 AssertionArgsShouldBePassedInCorrectOrder Questa regola genera un problema quando le chiamate a Assert.AreEqual, Assert.AreNotEqual, Assert.AreSame o Assert.AreNotSame seguono uno o più dei modelli seguenti:

- actual argument è un valore letterale o costante
- actual la variabile argument inizia con expected, _expected o Expected
- expected o notExpected argomento
variabile inizia con actual
- actual non è una variabile locale
MSTEST0018 DynamicDataShouldBeValidAnalyzer Un metodo contrassegnato con [DynamicData] deve avere un layout valido.
MSTEST0023 DoNotNegateBooleanAssertionAnalyzer Questa regola genera una diagnostica quando una chiamata a Assert.IsTrue o Assert.IsFalse contiene un argomento negato.
MSTEST0024 DoNotStoreStaticTestContextAnalyzer Questa regola genera una diagnostica quando viene eseguita un'assegnazione a un membro static di un parametro TestContext.
MSTEST0026 AssertionArgsShouldAvoidConditionalAccessRuleId Questa regola genera una diagnostica quando un argomento contenente un operatore condizionale null(?.) o ?[] viene passato ai metodi di asserzione seguenti:

- Assert.IsTrue
- Assert.IsFalse
- Assert.AreEqual
- Assert.AreNotEqual
- Assert.AreSame
- Assert.AreNotSame
- CollectionAssert.AreEqual
- CollectionAssert.AreNotEqual
- CollectionAssert.AreEquivalent
- CollectionAssert.AreNotEquivalent
- CollectionAssert.Contains
- CollectionAssert.DoesNotContain
- CollectionAssert.AllItemsAreNotNull
- CollectionAssert.AllItemsAreUnique
- CollectionAssert.AllItemsAreInstancesOfType
- CollectionAssert.IsSubsetOf
- CollectionAssert.IsNotSubsetOf
- StringAssert.Contains
- StringAssert.StartsWith
- StringAssert.EndsWith
- StringAssert.Matches
- StringAssert.DoesNotMatch
MSTEST0030 TypeContainingTestMethodShouldBeATestClass Il tipo contenente [TestMethod] deve essere contrassegnato con [TestClass], altrimenti il metodo di test verrà ignorato automaticamente.
MSTEST0031 DoNotUseSystemDescriptionAttribute "System.ComponentModel.DescriptionAttribute" non ha effetti nel contesto dei test.
MSTEST0032 ReviewAlwaysTrueAssertConditionAnalyzer Questa regola genera una diagnostica quando una chiamata a un’asserzione produce una condizione sempre vera.
MSTEST0034 UseClassCleanupBehaviorEndOfClass Questa regola genera una diagnostica quando ClassCleanupBehavior.EndOfClass non è impostato con [ClassCleanup].
MSTEST0035 UseDeploymentItemWithTestMethodOrTestClassTitle Questa regola genera una diagnostica quando [DeploymentItem] non è impostato sulla classe di test o sul metodo di test.
MSTEST0037 UseProperAssertMethodsAnalyzer L'uso di metodi Assert in modo specifico quando esiste un'alternativa migliore.
MSTEST0038 AvoidAssertAreSameWithValueTypesAnalyzer Utilizzo di Assert.AreSame o Assert.AreNotSame con uno o entrambi gli argomenti come tipo valore.
MSTEST0039 UseNewerAssertThrowsAnalyzer Uso di Assert.ThrowsException o Assert.ThrowsExceptionAsync, che non sono più consigliati.
MSTEST0040 AvoidUsingAssertsInAsyncVoidContextAnalyzer Uso di qualsiasi metodo di asserzione in un metodo async void, una funzione locale o un'espressione lambda.
MSTEST0041 UseConditionBaseWithTestClassAnalyzer Uso di un attributo che eredita da ConditionBaseAttribute in una classe che non è contrassegnata con TestClassAttribute.
MSTEST0042 DuplicateDataRowAnalyzer Un metodo di test ha due o più attributi DataRow equivalenti.
MSTEST0043 UseRetryWithTestMethodAnalyzer Un metodo ha un attributo che deriva da RetryBaseAttribute e non dispone di un attributo che deriva da TestMethodAttribute.
MSTEST0046 StringAssertToAssertAnalyzer Un metodo di test utilizza metodi StringAssert invece di metodi equivalenti Assert.
MSTEST0048 TestContextPropertyUsageAnalyzer Un metodo fixture (metodi con AssemblyInitializeAttribute, AssemblyCleanupAttribute, ClassInitializeAttribute, o ClassCleanupAttribute) accede alle proprietà con restrizioni TestContext.
MSTEST0049 FlowTestContextCancellationTokenAnalyzer Una chiamata al metodo all'interno di un contesto di test non usa l'oggetto CancellationToken disponibile da TestContext quando il metodo chiamato ha un parametro o un overload che accetta un oggetto CancellationToken.
MSTEST0050 GlobalTestFixtureShouldBeValidAnalyzer Un metodo di fixture di test globale (contrassegnato con GlobalTestInitializeAttribute o GlobalTestCleanupAttribute) non segue il layout richiesto e presenta una configurazione non valida.
MSTEST0051 AssertThrowsShouldContainSingleStatementAnalyzer Una chiamata a Throws, ThrowsAsync, ThrowsExactly, o ThrowsExactlyAsync contiene più istruzioni nel delegato dell'azione.
MSTEST0052 AvoidExplicitDynamicDataSourceTypeAnalyzer Un DynamicDataAttribute specifica esplicitamente Property o Method anziché usare il predefinito AutoDetect.
MSTEST0053 AvoidAssertFormatParametersAnalyzer Una chiamata al metodo di asserzione usa gli argomenti message e parameters per la formattazione delle stringhe anziché l'interpolazione di stringa.
MSTEST0054 UseCancellationTokenPropertyAnalyzer Accesso CancellationToken tramite TestContext.CancellationTokenSource.Token invece di usare la TestContext.CancellationToken proprietà .
MSTEST0055 IgnoreStringMethodReturnValueAnalyzer Viene eseguita una chiamata a string.Contains, string.StartsWitho string.EndsWith e il relativo valore restituito viene ignorato.