Класс: matlab.unittest.TestRunner
Пакет: matlab.unittest
Запустите все тесты в TestSuite
массив параллельно
result = runInParallel(
разделяет указанный тестовый набор на группы и использует указанный исполнителя тестов для запуска каждой группы в текущем параллельном пуле. Затем метод возвращает результаты в массиве runner
,suite
)TestResult
объекты.
Когда тесты выполняются параллельно, фрагменты тестового набора запускаются независимо на MATLAB® рабочие. Для примера, если ваш тестовый класс имеет TestClassSetup
метод запускается локально для каждого работника. Работники используют информацию в своих соответствующих TestSuite
элементы для запуска тестов. Каждый TestSuite
элемент предоставляет работнику информацию о Test
метод, тестовый класс и общие испытательные стенды для выполнения для элемента набора.
Примечание
The runInParallel
метод требует Parallel Computing Toolbox™. Среда тестирования может варьироваться в порядке и количестве групп или каких тестов она включает в каждую группу.
Когда вы выбираете тестовый набор для параллельного выполнения, учитывайте возможные споры по ресурсам. Для примера, если ваши испытательные стенды получают доступ к глобальным ресурсам, таким как база данных или общий файл в одной сети, параллельные сеансам могут конфликтовать друг с другом. В таких случаях рассмотрите использование предварительно созданного общего испытательного стенда.
Начиная с R2020b, можно создать автономные приложения, поддерживающие параллельные тесты (требуется MATLAB Compiler™ и Parallel Computing Toolbox). Используйте директиву %#function parallel.Pool
в коде, чтобы MATLAB Compiler мог найти и упаковать все компоненты, необходимые для параллельного выполнения тестов. Для получения дополнительной информации см. Раздел «Компиляция модульных тестов MATLAB».
Начиная с R2021a, можно запустить тесты в пуле на основе потоков (требует Parallel Computing Toolbox), запустив параллельный пул рабочих процессов потоков и затем вызвав runInParallel
способ.
Тесты для запуска с runInParallel
в пуле на основе потоков распространяются следующие ограничения:
Ваш тест и исходный код должны использовать только функциональность, поддерживаемую работниками потоков. Дополнительные сведения об ограничениях окружения, основанной на потоках, см. в разделе Выбор между окружениями, основанными на потоках и процессах (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