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 |
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.
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per