exponenta event banner

Порядок выполнения теста

При выполнении теста Simulink ® Test™ открывает тестируемую модель, запускает функции обратного вызова, закрывает функции и очищает. Порядок выполнения тестов зависит от:

  • Выполняется ли отдельный тестовый случай или набор тестов, содержащий один или несколько тестовых случаев

  • Количество протестированных моделей

  • Количество тестовых случаев

Для серийного моделирования тестовые примеры выполняются в том порядке, в каком они перечислены в Диспетчере тестов. Чтобы изменить порядок выполнения тестовых примеров в Диспетчере тестов, перетащите тестовые примеры в требуемый порядок на панели «Обозреватель тестов». Нельзя перетаскивать наборы тестов. Если моделирование выполняется в параллельном режиме, тестовые примеры могут выполняться не в том порядке, в котором они отображаются в Диспетчере тестов.

Если тестовые примеры включают обратные вызовы, обратите внимание, что disp и fprintf не работают в обратных вызовах. Чтобы убедиться, что обратные вызовы выполнены, используйте сценарий MATLAB, который включает точки останова в обратные вызовы.

Один тестовый пример для одной модели

Если выбран конкретный тестовый случай для выполнения на одной модели, и модель не открыта перед тестовыми запусками, порядок выполнения будет следующим:

  1. Запустить тестовый случай Pre-Load обратный вызов.

  2. Выполнить модель PreLoadFcn обратный вызов.

  3. Загрузить модель.

  4. Выполнить модель PostLoadFcn обратный вызов.

  5. Запустить тестовый случай Post-Load обратный вызов.

  6. Моделирование модели.

  7. Запустить тестовый случай Cleanup обратный вызов.

  8. Выполнить модель CloseFcn обратный вызов.

При запуске набора тестов, содержащего тестовый пример, этот набор тестов Setup обратный вызов выполняется перед первым шагом и набором тестов Cleanup обратный вызов выполняется после последнего шага.

Несколько тестовых примеров для нескольких моделей

Если выполняется несколько тестовых случаев, которые выполняются на отдельных моделях, а модели не открыты перед тестовыми запусками, порядок выполнения, показанный для двух тестовых случаев, выполняемых на двух моделях, будет следующим:

  1. Испытательный вариант 1 Pre-Load обратный вызов.

  2. Запустить модель 1 PreLoadFcn обратный вызов.

  3. Загрузить модель 1.

  4. Запустить модель 1 PostLoadFcn обратный вызов.

  5. Испытательный вариант 2 Pre-Load обратный вызов.

  6. Запустить модель 2 PreLoadFcn обратный вызов.

  7. Загрузить модель 2.

  8. Запустить модель 2 PostLoadFcn обратный вызов.

  9. Испытательный вариант 1 Post-Load обратный вызов.

  10. Смоделировать модель 1 для тестового примера 1.

  11. Испытательный вариант 1 Cleanup обратный вызов.

  12. Испытательный вариант 2 Post-Load обратный вызов.

  13. Смоделировать модель 2 для испытательного случая 2.

  14. Испытательный вариант 2 Cleanup обратный вызов.

  15. Запустить модель 2 CloseFcn обратный вызов.

  16. Запустить модель 1 CloseFcn обратный вызов.

При запуске набора тестов, включающего тестовые примеры, набор тестов Setup обратный вызов выполняется перед первым шагом и набором тестов Cleanup обратный вызов выполняется после последнего шага.

Несколько тестовых примеров в одном наборе тестов на одной модели

Если в наборе тестов выполняется несколько тестовых примеров на одной модели, и модель не открыта перед тестовыми запусками, порядок выполнения, отображаемый для двух тестовых случаев, будет следующим:

  1. Испытательный вариант 1 Pre-Load отзыв

  2. Выполнить модель PreLoadFcn отзыв

  3. Нагрузочная модель

  4. Выполнить модель PostLoadFcn отзыв

  5. Испытательный вариант 2 Pre-Load отзыв

  6. Испытательный вариант 1 Post-Load отзыв

  7. Моделирование модели

  8. Испытательный вариант 1 Cleanup отзыв

  9. Испытательный вариант 2 Post-Load отзыв

  10. Моделирование модели

  11. Испытательный вариант 2 Cleanup отзыв

  12. Выполнить модель CloseFcn отзыв

Когда набор тестов запускает несколько тестовых случаев в одной модели, модель остается открытой между выполнением тестов. В результате код в PreLoadFcn обратный вызов для модели выполняется только тогда, когда модель открыта для первого тестового случая.

Если модель открыта перед выполнением теста, то порядок выполнения, отображаемый для двух тестов, будет следующим:

  1. Испытательный вариант 1 Pre-Load отзыв

  2. Испытательный вариант 2 Pre-Load отзыв

  3. Испытательный вариант 1 Post-Load отзыв

  4. Моделирование модели

  5. Испытательный вариант 1 Cleanup отзыв

  6. Испытательный вариант 2 Post-Load отзыв

  7. Моделирование модели

  8. Испытательный вариант 2 Cleanup отзыв

Обратите внимание, что модель PreLoadFcn и PostLoadFcn обратные вызовы не выполняются, поскольку модель уже загружена до запуска теста. Модель CloseFcn обратный вызов не выполняется, поскольку модель остается открытой после завершения теста.

Несколько тестовых примеров в нескольких тестовых комплектах в одной модели

Предположим, что у вас есть два набора тестов, каждый из которых содержит два тестовых примера, например:

  • Набор тестов 1

    • Испытательный случай 1-1

    • Испытательный случай 1-2

  • Набор тестов 2

    • Испытательный случай 2-1

    • Испытательный случай 2-2

порядок выполнения обратных вызовов:

  1. Запустить набор тестов 1 Setup обратный вызов.

  2. Запустить набор тестов 2 Setup обратный вызов.

  3. Испытательный вариант 1-1 Pre-Load обратный вызов.

  4. Испытательный вариант 1-2 Pre-Load обратный вызов.

  5. Испытательный вариант 2-1 Pre-Load обратный вызов.

  6. Испытательный вариант 2-2 Pre-Load обратный вызов.

  7. Испытательный вариант 1-1 PostLoad обратный вызов.

  8. Моделирование модели.

  9. Испытательный вариант 1-1 Cleanup обратный вызов.

  10. Испытательный вариант 1-2 Post-Load обратный вызов.

  11. Моделирование модели.

  12. Испытательный вариант 1-2 Cleanup обратный вызов.

  13. Запустить набор тестов 1 Cleanup обратный вызов.

  14. Испытательный вариант 2-1 Post-Load обратный вызов.

  15. Моделирование модели.

  16. Испытательный вариант 2-1 Cleanup обратный вызов.

  17. Испытательный вариант 2-2 Post-Load обратный вызов.

  18. Моделирование модели.

  19. Испытательный вариант 2-2 Cleanup обратный вызов.

  20. Запустить набор тестов 2 Cleanup обратный вызов.