Condividi tramite


Regole di utilizzo di MSTest

Regole che supportano l'utilizzo appropriato di MSTest.

Identificatore Nome Descrizione
MSTEST0002 TestClassShouldBeValidAnalyzer Le classi di test, classi contrassegnate con l'attributo [TestClass], devono rispettare il layout seguente per essere considerate valide da MSTest:
- devono essere public (o internal se l'attributo [assembly: DiscoverInternals] è impostato)
- non devono essere static
- non devono essere generiche.
MSTEST0003 TestMethodShouldBeValidAnalyzer I metodi di test, i metodi contrassegnati con l'attributo [TestMethod], devono rispettare il layout seguente per essere considerati validi da MSTest:
- devono essere public (o internal se l'attributo [assembly: DiscoverInternals] è impostato)
- non devono essere static
- non deve essere generico
- non deve essere abstract
- il tipo restituito deve essere void o Task
- non deve essere async void
- non deve essere un metodo speciale (ad esempio, finalizzatore o operatore).
MSTEST0005 TestContextShouldBeValidAnalyzer La proprietà TestContext deve seguire il layout seguente per essere valido:
- deve essere una proprietà
- devono essere public (o internal se l'attributo [assembly: DiscoverInternals] è impostato)
- non devono essere static
- non deve essere di sola lettura.
MSTEST0007 UseAttributeOnTestMethodAnalyzer Gli attributi di test seguenti devono essere applicati solo ai metodi contrassegnati con l'attributo TestMethodAttribute :
- [CssIteration]
- [CssProjectStructure]
- [Description]
- [ExpectedException]
- [Owner]
- [Priority]
- [TestProperty]
- [WorkItem]
MSTEST0008 TestInitializeShouldBeValidAnalyzer I metodi contrassegnati con [TestInitialize] devono seguire il layout seguente per essere validi:
- deve essere public
- non devono essere static
- non deve essere generico
- non deve essere abstract
- non deve accettare alcun parametro
- il tipo restituito deve essere void, Task o ValueTask
- non devono essere async void
- non deve essere un metodo speciale (finalizzatore, operatore...).
MSTEST0009 TestCleanupShouldBeValidAnalyzer I metodi contrassegnati con [TestCleanup] devono seguire il layout seguente per essere validi:
- deve essere public
- non devono essere static
- non deve essere generico
- non deve essere abstract
- non deve accettare alcun parametro
- il tipo restituito deve essere void, Task o ValueTask
- non devono essere async void
- non deve essere un metodo speciale (finalizzatore, operatore...).
MSTEST0010 ClassInitializeShouldBeValidAnalyzer I metodi contrassegnati con [ClassInitialize] devono seguire il layout seguente per essere validi:
- deve essere public
- deve essere static
- non deve essere generico
- deve accettare un parametro di tipo TestContext
- il tipo restituito deve essere void, Task o ValueTask
- non devono essere async void
- non deve essere un metodo speciale (finalizzatore, operatore...).
MSTEST0011 ClassCleanupShouldBeValidAnalyzer I metodi contrassegnati con [ClassCleanup] devono seguire il layout seguente per essere validi:
- deve essere public
- deve essere static
- non deve essere generico
- non deve accettare alcun parametro
- il tipo restituito deve essere void, Task o ValueTask
- non devono essere async void
- non deve essere un metodo speciale (finalizzatore, operatore...).
MSTEST0012 AssemblyInitializeShouldBeValidAnalyzer I metodi contrassegnati con [AssemblyInitialize] devono seguire il layout seguente per essere validi:
- deve essere public
- deve essere static
- non deve essere generico
- deve accettare un parametro di tipo TestContext
- il tipo restituito deve essere void, Task o ValueTask
- non devono essere async void
- non deve essere un metodo speciale (finalizzatore, operatore...).
MSTEST0013 AssemblyCleanupShouldBeValidAnalyzer I metodi contrassegnati con [AssemblyCleanup] devono seguire il layout seguente per essere validi:
- deve essere public
- deve essere static
- non deve essere generico
- non deve accettare alcun parametro
- il tipo restituito deve essere void, Task o ValueTask
- non devono essere async void
- non deve essere un metodo speciale (finalizzatore, operatore...).
MSTEST0014 DataRowShouldBeValidAnalyzer [DataRow] istanze devono avere il layout seguente per essere valide:
- devono essere impostate solo su un metodo di test
- il conteggio argomenti deve corrispondere al conteggio dei parametri del metodo
- Il tipo di argomento deve corrispondere al tipo di argomento del metodo
MSTEST0017 AssertionArgsShouldBePassedInCorrectOrder Gli argomenti di asserzione devono essere passati nell'ordine corretto
MSTEST0023 DoNotNegateBooleanAssertionAnalyzer Non negare asserzioni booleane
MSTEST0024 DoNotStoreStaticTestContextAnalyzer Non archiviare TestContext in un membro statico
MSTEST0026 AssertionArgsShouldAvoidConditionalAccessRuleId Evitare l'accesso condizionale nelle asserzioni