Класс: matlab.unittest.TestRunner
Пакет: matlab.unittest
Запустите все тесты в TestSuite
массив параллельно
result = runInParallel(
делит заданный тестовый набор на группы и использует заданного исполнителя тестов, чтобы запустить каждую группу на текущем параллельном пуле. Метод затем возвращает результаты в массив runner
,suite
)TestResult
объекты.
Когда тестовый прогон параллельно, фрагменты тестового набора, запущенные независимо на рабочих MATLAB®. Например, если ваш тестовый класс имеет TestClassSetup
метод, метод запускается локально на каждом рабочем. Рабочие используют информацию в своем соответствующем TestSuite
элементы, чтобы запустить тесты. Каждый TestSuite
элемент предоставляет рабочему информацию о Test
метод, тестовый класс и совместно использованные испытательные стенды, чтобы запуститься для элемента набора.
Примечание
runInParallel
метод требует Parallel Computing Toolbox™. Среда тестирования может варьироваться порядок и количество групп или который тестирует его, включает в каждую группу.
Когда вы выберете тестовый набор, чтобы запуститься параллельно, рассмотрите возможную конкуренцию ресурса. Например, если ваши глобальные ресурсы доступа к испытательным стендам, такие как база данных или совместно используемый файл в той же сети, параллельные сеансы могли конфликтовать друг с другом. В таких случаях рассмотрите использование предварительно созданного разделяемого испытательного стенда.
Начиная в R2020b, можно создать автономные приложения, которые поддерживают запускающие тесты параллельно (требует MATLAB Compiler™ и Parallel Computing Toolbox). Используйте направляющий %#function parallel.Pool
в вашем коде так, чтобы MATLAB Compiler мог расположиться и пакет все компоненты, требуемые для того, чтобы запустить тесты параллельно. Для получения дополнительной информации смотрите Компиляцию Модульные тесты MATLAB.
Начиная в R2021a, можно запустить тесты на основанном на потоке пуле (требует Parallel Computing Toolbox) путем запуска параллельного пула рабочих потока и затем вызова runInParallel
метод.
Тесты, чтобы запуститься с runInParallel
на основанном на потоке пуле подвергаются этим ограничениям:
Ваш тестовый и исходный код должен использовать только функциональность, поддержанную рабочими потока. Для получения дополнительной информации об ограничениях основанной на потоке среды, смотрите, Выбирают Between Thread-Based и Process-Based Environments (Parallel Computing Toolbox).
Тестовые наборы, созданные с помощью matlab.unittest.TestSuite.fromFile
, matlab.unittest.TestSuite.fromFolder
, или matlab.unittest.TestSuite.fromProject
не поддерживаются на основанном на потоке пуле.
Хранение тестовых артефактов не поддерживается на основанном на потоке пуле.
Simulink® не поддерживается в основанной на потоке среде. Поэтому тесты, созданные с помощью Simulink Test™, не могут работать на основанном на потоке пуле.
matlab.unittest.plugins.Parallelizable
| matlab.unittest.plugins.TestRunnerPlugin
| matlab.unittest.TestResult
| matlab.unittest.TestRunner
| matlab.unittest.TestSuite
| run (TestRunner)
| runtests