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

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

  • Запускаете ли вы один тест или запускаете тестовый набор, содержащий один или несколько тестов

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

  • Количество тестов

Для последовательных симуляций тесты запускаются в порядке, они перечислены в менеджере по Тесту. Чтобы изменить порядок в который тесты, запущенные в менеджере по Тесту, перетащите мышью тесты в желаемый порядок в панели Test Browser. Вы не можете перетащить мышью тестовые наборы. Если при запуске свой режим параллельных симуляций, тесты не могут запуститься в порядке, отображенном в менеджере по Тесту.

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

Один тест на одной модели

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

  1. Запустите тест Pre-Load 'callback'.

  2. Запустите модель PreLoadFcn 'callback'.

  3. Модель загружается.

  4. Запустите модель PostLoadFcn 'callback'.

  5. Запустите тест Post-Load 'callback'.

  6. Модель симулируется.

  7. Запустите тест Cleanup 'callback'.

  8. Запустите модель CloseFcn 'callback'.

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

Несколько тестов на многоуровневых моделях

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

  1. Запустите тест 1 Pre-Load 'callback'.

  2. Запустите модель 1 PreLoadFcn 'callback'.

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

  4. Запустите модель 1 PostLoadFcn 'callback'.

  5. Запустите тест 2 Pre-Load 'callback'.

  6. Запустите модель 2 PreLoadFcn 'callback'.

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

  8. Запустите модель 2 PostLoadFcn 'callback'.

  9. Запустите тест 1 Post-Load 'callback'.

  10. Симулируйте модель 1 для теста 1.

  11. Запустите тест 1 Cleanup 'callback'.

  12. Запустите тест 2 Post-Load 'callback'.

  13. Симулируйте модель 2 для теста 2.

  14. Запустите тест 2 Cleanup 'callback'.

  15. Запустите модель 2 CloseFcn 'callback'.

  16. Запустите модель 1 CloseFcn 'callback'.

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

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

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

  1. Запустите тест 1 Pre-Load 'callback'

  2. Запустите модель PreLoadFcn 'callback'

  3. Модель загружается

  4. Запустите модель PostLoadFcn 'callback'

  5. Запустите тест 2 Pre-Load 'callback'

  6. Запустите тест 1 Post-Load 'callback'

  7. Модель симулируется

  8. Запустите тест 1 Cleanup 'callback'

  9. Запустите тест 2 Post-Load 'callback'

  10. Модель симулируется

  11. Запустите тест 2 Cleanup 'callback'

  12. Запустите модель CloseFcn 'callback'

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

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

  1. Запустите тест 1 Pre-Load 'callback'

  2. Запустите тест 2 Pre-Load 'callback'

  3. Запустите тест 1 Post-Load 'callback'

  4. Модель симулируется

  5. Запустите тест 1 Cleanup 'callback'

  6. Запустите тест 2 Post-Load 'callback'

  7. Модель симулируется

  8. Запустите тест 2 Cleanup 'callback'

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

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

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

  • Тестовый набор 1

    • Тест 1-1

    • Тест 1-2

  • Тестовый набор 2

    • Тест 2-1

    • Тест 2-2

порядок выполнения коллбэков:

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

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

  3. Запустите тест Pre-Load 1-1 'callback'.

  4. Запустите тест Pre-Load 1-2 'callback'.

  5. Запустите тест Pre-Load 2-1 'callback'.

  6. Запустите тест Pre-Load 2-2 'callback'.

  7. Запустите тест PostLoad 1-1 'callback'.

  8. Модель симулируется.

  9. Запустите тест Cleanup 1-1 'callback'.

  10. Запустите тест Post-Load 1-2 'callback'.

  11. Модель симулируется.

  12. Запустите тест Cleanup 1-2 'callback'.

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

  14. Запустите тест Post-Load 2-1 'callback'.

  15. Модель симулируется.

  16. Запустите тест Cleanup 2-1 'callback'.

  17. Запустите тест Post-Load 2-2 'callback'.

  18. Модель симулируется.

  19. Запустите тест Cleanup 2-2 'callback'.

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

Тест с переопределениями параметра

Для теста с переопределениями параметра порядок выполнения:

  1. Запустите тест Pre-Load 'callback'.

  2. Модель загружается.

  3. Считайте переопределения параметра, который инициировал обновление модели.

  4. Запустите тест Post-Load 'callback'.

  5. Модель симулируется.

  6. Запустите тест Cleanup 'callback'.

  7. Запустите модель CloseFcn 'callback'.