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.
| 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 | Avviso a partire dalla versione 4.0.0, Informazioni prima |
| 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
Poiché questa regola viene segnalata a livello di compilazione e non in un file di origine .cs o .vb , non è possibile eliminare le violazioni a questa regola inline o tramite un .editorconfig file.
Per disabilitare la regola per un progetto, aggiungere <NoWarn>$(NoWarn);MSTEST0001</NoWarn> al file di progetto o il file Directory.Build.props.
Per controllare la gravità di questa regola, è possibile farlo solo tramite un .globalconfig file. Per altre informazioni, vedere File di configurazione.
is_global = true
dotnet_diagnostic.MSTEST0001.severity = none
Per altre informazioni, vedere Come eliminare gli avvisi di analisi del codice.