Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
| Property | Value |
|---|---|
| ID della regola | MSTEST0048 |
| Title | Evitare le proprietà TestContext nei metodi fixture |
| Category | Usage |
| La modifica è dirompente o non dirompente | Non-breaking |
| Abilitato per impostazione predefinita | Yes |
| Gravità predefinita | Warning |
| introdotta nella versione | 3.10.0 |
| È presente una correzione del codice | No |
Cause
Un metodo fixture (metodi con AssemblyInitializeAttribute, AssemblyCleanupAttribute, ClassInitializeAttribute, o ClassCleanupAttribute) accede alle proprietà con restrizioni TestContext.
A partire da MSTest.Analyzers 4.4, la regola segnala anche l'accesso costante dell'indicizzatore a una chiave con restrizioni, ad esempio testContext.Properties["TestName"]. Non segnala l'accesso dell'indicizzatore quando la chiave non è una stringa costante.
Descrizione della regola
Alcune TestContext proprietà non sono disponibili nei metodi fixture perché sono specifiche per l'esecuzione di singoli test:
Proprietà non disponibili nei metodi della classe e della configurazione dell'assembly.
TestDataTestDisplayNameDataRowDataConnectionTestName
Proprietà non disponibili nei metodi della fixture a livello di assembly:
FullyQualifiedTestClassName
Come correggere le violazioni
Rimuovere l'utilizzo delle proprietà limitate TestContext dai metodi di fixture. Prendere in considerazione l'uso di approcci alternativi per l'inizializzazione e la pulizia di classi/assembly che non si basano su informazioni di contesto specifiche del test.
Quando eliminare gli avvisi
Non eliminare gli avvisi da questa regola. L'accesso a queste proprietà nei metodi di fixture può causare errori imprevisti o di runtime.