Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
| Свойство | Значение |
|---|---|
| Идентификатор правила | MSTEST0001 |
| Заголовок | Явное включение или отключение параллелизации тестов |
| Категория | Производительность |
| Исправление является критическим или не критическим | Не критическое |
| Включен по умолчанию | Да |
| Серьезность по умолчанию | Сведения (предупреждение в версии 4.0) |
| Представлено в версии | 3.2.0 |
| Есть ли исправление кода | No |
Причина
Сборка не помечена или [assembly: Parallelize][assembly: DoNotParallelize] атрибутом.
Описание правила
По умолчанию MSTest выполняет тесты в одной сборке последовательно, что может привести к серьезным ограничениям производительности. Рекомендуется включить параллельное выполнение тестов атрибута [assembly: Parallelize] сборки или, если сборка, как известно, не является параллелизируемой, для явного использования атрибута [assembly: DoNotParallelize]уровня сборки.
Конфигурация [assembly: Parallelize] по умолчанию эквивалентна [assembly: Parallelize(Scope = ExecutionScope.ClassLevel)], то есть параллелизация будет задана на уровне класса (не на уровне метода) и будет использовать максимальное количество потоков (в зависимости от внутренней реализации).
Устранение нарушений
Чтобы устранить нарушение этого правила, добавьте [assembly: Parallelize] или [assembly: DoNotParallelize] атрибут. Рекомендуется использовать [assembly: Parallelize(Scope = ExecutionScope.MethodLevel)] оптимальную параллелизацию.
Когда лучше отключить предупреждения
Для этого правила отключать вывод предупреждений не следует. Многие библиотеки могут воспользоваться большим повышением производительности при включении параллелизации. При разработке тестового приложения таким образом, чтобы предотвратить параллелизацию, явно заданный атрибут помогает новым разработчикам понять ограничения библиотеки.
Подавление предупреждения
Поскольку это правило проверяется на уровне компиляции, а не в исходном файле .cs или .vb, вы не можете подавлять нарушения этого правила ни внутри кода, ни с помощью файла .editorconfig.
Чтобы отключить правило для проекта, добавьте <NoWarn>$(NoWarn);MSTEST0001</NoWarn> в файл проекта или Directory.Build.props в файл.
Контроль серьезности этого правила можно осуществлять только через файл .globalconfig. Дополнительные сведения см. в разделе "Файлы конфигурации".
is_global = true
dotnet_diagnostic.MSTEST0001.severity = none
Дополнительные сведения см. в статье Подавление предупреждений анализа кода.