MSTEST0001: abilitare o disabilitare in modo esplicito la parallelizzazione dei test
Proprietà | valore |
---|---|
ID regola | MSTEST0001 |
Title | Abilitare o disabilitare in modo esplicito la parallelizzazione dei test |
Categoria | Prestazioni |
La correzione causa un'interruzione o meno | Non causa un'interruzione |
Abilitata per impostazione predefinita | Sì |
Gravità predefinita | Info |
Introdotto nella versione | 3.2.0 |
È presente una correzione del codice | No |
Causa
L'assembly non è contrassegnato con l'attributo [assembly: Parallelize]
o [assembly: DoNotParallelize]
.
Descrizione regola
Per impostazione predefinita, MSTest esegue i test all'interno dello stesso assembly in sequenza e ciò può causare gravi limitazioni delle prestazioni. È consigliabile abilitare l'attributo dell'assembly [assembly: Parallelize]
per eseguire i test in parallelo oppure, se l'assembly non è parallelizzabile, usare in modo esplicito l'attributo a livello di assembly [assembly: DoNotParallelize]
.
La configurazione predefinita di [assembly: Parallelize]
equivale a [assembly: Parallelize(Scope = ExecutionScope.ClassLevel)]
, ovvero la parallelizzazione verrà impostata a livello di classe (non a livello di metodo) e userà il maggior numero possibile di thread (a seconda dell'implementazione interna).
Come correggere le violazioni
Per correggere una violazione di questa regola, aggiungere l'attributo [assembly: Parallelize]
o [assembly: DoNotParallelize]
. È consigliabile usare [assembly: Parallelize(Scope = ExecutionScope.MethodLevel)]
per ottenere una migliore parallelizzazione.
Quando eliminare gli avvisi
Non escludere un avviso da questa regola. Molte librerie possono sperimentare un notevole aumento delle prestazioni abilitando la parallelizzazione. Quando l'applicazione di test è progettata in modo da impedire la parallelizzazione, l'impostazione esplicita dell'attributo consente ai nuovi sviluppatori di comprendere le limitazioni della libreria.
Eliminare un avviso
Le infrazioni a questa regola non possono essere eliminate direttamente.
Per disabilitare la regola per un file, una cartella o un progetto, impostarne la gravità su none
nel file di configurazione .
[*.{cs,vb}]
dotnet_diagnostic.MSTEST0001.severity = none
Per altre informazioni, vedere Come eliminare gli avvisi di analisi del codice.