Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Свойство | Значение |
---|---|
Идентификатор правила | MSTEST0001 |
Заголовок | Явное включение или отключение параллелизации тестов |
Категория | Производительность |
Исправление является критическим или не критическим | Не критическое |
Включен по умолчанию | Да |
Серьезность по умолчанию | Сведения |
Представлено в версии | 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}]
dotnet_diagnostic.MSTEST0001.severity = none
Дополнительные сведения см. в статье Подавление предупреждений анализа кода.