При выполнении теста Simulink ® Test™ открывает тестируемую модель, запускает функции обратного вызова, закрывает функции и очищает. Порядок выполнения тестов зависит от:
Выполняется ли отдельный тестовый случай или набор тестов, содержащий один или несколько тестовых случаев
Количество протестированных моделей
Количество тестовых случаев
Для серийного моделирования тестовые примеры выполняются в том порядке, в каком они перечислены в Диспетчере тестов. Чтобы изменить порядок выполнения тестовых примеров в Диспетчере тестов, перетащите тестовые примеры в требуемый порядок на панели «Обозреватель тестов». Нельзя перетаскивать наборы тестов. Если моделирование выполняется в параллельном режиме, тестовые примеры могут выполняться не в том порядке, в котором они отображаются в Диспетчере тестов.
Если тестовые примеры включают обратные вызовы, обратите внимание, что disp и fprintf не работают в обратных вызовах. Чтобы убедиться, что обратные вызовы выполнены, используйте сценарий MATLAB, который включает точки останова в обратные вызовы.
Если выбран конкретный тестовый случай для выполнения на одной модели, и модель не открыта перед тестовыми запусками, порядок выполнения будет следующим:
Запустить тестовый случай Pre-Load обратный вызов.
Выполнить модель PreLoadFcn обратный вызов.
Загрузить модель.
Выполнить модель PostLoadFcn обратный вызов.
Запустить тестовый случай Post-Load обратный вызов.
Моделирование модели.
Запустить тестовый случай Cleanup обратный вызов.
Выполнить модель CloseFcn обратный вызов.
При запуске набора тестов, содержащего тестовый пример, этот набор тестов Setup обратный вызов выполняется перед первым шагом и набором тестов Cleanup обратный вызов выполняется после последнего шага.
Если выполняется несколько тестовых случаев, которые выполняются на отдельных моделях, а модели не открыты перед тестовыми запусками, порядок выполнения, показанный для двух тестовых случаев, выполняемых на двух моделях, будет следующим:
Испытательный вариант 1 Pre-Load обратный вызов.
Запустить модель 1 PreLoadFcn обратный вызов.
Загрузить модель 1.
Запустить модель 1 PostLoadFcn обратный вызов.
Испытательный вариант 2 Pre-Load обратный вызов.
Запустить модель 2 PreLoadFcn обратный вызов.
Загрузить модель 2.
Запустить модель 2 PostLoadFcn обратный вызов.
Испытательный вариант 1 Post-Load обратный вызов.
Смоделировать модель 1 для тестового примера 1.
Испытательный вариант 1 Cleanup обратный вызов.
Испытательный вариант 2 Post-Load обратный вызов.
Смоделировать модель 2 для испытательного случая 2.
Испытательный вариант 2 Cleanup обратный вызов.
Запустить модель 2 CloseFcn обратный вызов.
Запустить модель 1 CloseFcn обратный вызов.
При запуске набора тестов, включающего тестовые примеры, набор тестов Setup обратный вызов выполняется перед первым шагом и набором тестов Cleanup обратный вызов выполняется после последнего шага.
Если в наборе тестов выполняется несколько тестовых примеров на одной модели, и модель не открыта перед тестовыми запусками, порядок выполнения, отображаемый для двух тестовых случаев, будет следующим:
Испытательный вариант 1 Pre-Load отзыв
Выполнить модель PreLoadFcn отзыв
Нагрузочная модель
Выполнить модель PostLoadFcn отзыв
Испытательный вариант 2 Pre-Load отзыв
Испытательный вариант 1 Post-Load отзыв
Моделирование модели
Испытательный вариант 1 Cleanup отзыв
Испытательный вариант 2 Post-Load отзыв
Моделирование модели
Испытательный вариант 2 Cleanup отзыв
Выполнить модель CloseFcn отзыв
Когда набор тестов запускает несколько тестовых случаев в одной модели, модель остается открытой между выполнением тестов. В результате код в PreLoadFcn обратный вызов для модели выполняется только тогда, когда модель открыта для первого тестового случая.
Если модель открыта перед выполнением теста, то порядок выполнения, отображаемый для двух тестов, будет следующим:
Испытательный вариант 1 Pre-Load отзыв
Испытательный вариант 2 Pre-Load отзыв
Испытательный вариант 1 Post-Load отзыв
Моделирование модели
Испытательный вариант 1 Cleanup отзыв
Испытательный вариант 2 Post-Load отзыв
Моделирование модели
Испытательный вариант 2 Cleanup отзыв
Обратите внимание, что модель PreLoadFcn и PostLoadFcn обратные вызовы не выполняются, поскольку модель уже загружена до запуска теста. Модель CloseFcn обратный вызов не выполняется, поскольку модель остается открытой после завершения теста.
Предположим, что у вас есть два набора тестов, каждый из которых содержит два тестовых примера, например:
Набор тестов 1
Испытательный случай 1-1
Испытательный случай 1-2
Набор тестов 2
Испытательный случай 2-1
Испытательный случай 2-2
порядок выполнения обратных вызовов:
Запустить набор тестов 1 Setup обратный вызов.
Запустить набор тестов 2 Setup обратный вызов.
Испытательный вариант 1-1 Pre-Load обратный вызов.
Испытательный вариант 1-2 Pre-Load обратный вызов.
Испытательный вариант 2-1 Pre-Load обратный вызов.
Испытательный вариант 2-2 Pre-Load обратный вызов.
Испытательный вариант 1-1 PostLoad обратный вызов.
Моделирование модели.
Испытательный вариант 1-1 Cleanup обратный вызов.
Испытательный вариант 1-2 Post-Load обратный вызов.
Моделирование модели.
Испытательный вариант 1-2 Cleanup обратный вызов.
Запустить набор тестов 1 Cleanup обратный вызов.
Испытательный вариант 2-1 Post-Load обратный вызов.
Моделирование модели.
Испытательный вариант 2-1 Cleanup обратный вызов.
Испытательный вариант 2-2 Post-Load обратный вызов.
Моделирование модели.
Испытательный вариант 2-2 Cleanup обратный вызов.
Запустить набор тестов 2 Cleanup обратный вызов.