Regole di utilizzo di MSTest
Regole che supportano l'utilizzo appropriato di MSTest.
Identificatore | Nome | Descrizione |
---|---|---|
MSTEST0002 | TestClassShouldBeValidAnalyzer | Le classi di test, le classi contrassegnate con l'attributo [TestClass] , devono rispettare il layout seguente per essere considerato valido da MSTest: - deve essere public (o internal se è impostato [assembly: DiscoverInternals] attributo)- non deve essere static - non deve essere generico. |
MSTEST0003 | MetodoDiTestDovrebbeEssereValidoAnalizzatore | I metodi di test, contrassegnati con l'attributo [TestMethod] , devono rispettare il layout seguente per essere considerato valido da MSTest:- deve essere public (o internal se è impostato [assembly: DiscoverInternals] attributo)- non deve 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 | AnalizzatoreDiContestoTestDovrebbeEssereValido | La proprietà TestContext deve seguire il layout seguente per essere valido: - deve essere una proprietà - deve essere public (o internal se è impostato [assembly: DiscoverInternals] attributo)- non deve essere static - non dovrebbe essere di sola lettura. |
MSTEST0007 | UseAttributeOnTestMethodAnalyzer (UtilizzaAttributoSuMetodoDiTestAnalizzatore) | 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 | InizializzazioneTestDovrebbeEssereUnAnalizzatoreValido | I metodi contrassegnati con [TestInitialize] devono seguire il layout seguente per essere validi:- dovrebbe essere public - non deve 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 deve 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:- dovrebbe essere public - non deve 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 deve 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:- dovrebbe essere public - dovrebbe essere static - non deve essere generico - deve accettare un parametro di tipo TestContext : il tipo restituito deve essere void , Task o ValueTask - non deve 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:- dovrebbe essere public - dovrebbe essere static - non deve essere generico - non deve accettare alcun parametro : il tipo restituito deve essere void , Task o ValueTask - non deve 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:- dovrebbe essere public - dovrebbe essere static - non deve essere generico - deve accettare un parametro di tipo TestContext : il tipo restituito deve essere void , Task o ValueTask - non deve 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:- dovrebbe essere public - dovrebbe essere static - non deve essere generico - non deve accettare alcun parametro : il tipo restituito deve essere void , Task o ValueTask - non deve essere async void - non deve essere un metodo speciale (finalizzatore, operatore...). |
MSTEST0014 | AnalizzatoreDiRigaDatiValido | Le istanze [DataRow] devono avere il layout seguente per essere valide.- devono essere impostati solo su un metodo di test - Il numero di argomenti deve corrispondere al numero 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 |
MSTEST0018 | DynamicDataShouldBeValidAnalyzer | I metodi contrassegnati con [DynamicData] devono essere contrassegnati anche con [TestMethod] (o un attributo derivato) |
MSTEST0023 | DoNotNegateBooleanAssertionAnalyzer | Non negare asserzioni booleane |
MSTEST0024 | DoNotStoreStaticTestContextAnalyzer | Non archiviare TestContext in un membro statico |
MSTEST0026 | AssertionArgsShouldAvoidConditionalAccessRuleId | Evitare l'accesso condizionale nelle asserzioni |
MSTEST0030 | La classe che contiene il metodo di test dovrebbe essere una classe di test | Il tipo contenente [TestMethod] deve essere contrassegnato con [TestClass] |
MSTEST0031 | DoNotUseSystemDescriptionAttribute (Non utilizzare l'attributo di descrizione del sistema) | 'System.ComponentModel.DescriptionAttribute' non ha alcun effetto nel contesto dei test |
MSTEST0032 | AnalizzatoreCondizioneAsserzioneSempreVera | Esaminare o rimuovere l'asserzione perché la condizione è nota come sempre vera |
MSTEST0034 | UseClassCleanupBehaviorEndOfClass | Utilizzare ClassCleanupBehavior.EndOfClass con il [ClassCleanup] |
MSTEST0035 | UsaDeploymentItemConMetodoDiTestOTitoloClasseDiTest |
[DeploymentItem] può essere specificato solo per la classe di test o il metodo di test |
MSTEST0037 | UseProperAssertMethodsAnalyzer | Usare metodi di Assert appropriati |
MSTEST0038 | AvoidAssertAreSameWithValueTypesAnalyzer (Evitare l'uso di Assert.AreSame con tipi valore) | Non usare Assert.AreSame o Assert.AreNotSame con tipi di valore |
Collabora con noi su GitHub
L'origine di questo contenuto è disponibile in GitHub, in cui è anche possibile creare ed esaminare i problemi e le richieste pull. Per ulteriori informazioni, vedere la guida per i collaboratori.