verify

Оцените логическое выражение и автоматически регистрируйте результат

Описание

пример

verify(expression) оценивает скалярный логический expression к true или false.

пример

verify(expression,errorMessage) возвращает заданное сообщение об ошибке для не пройдено verify оператор. Если при запуске тест в менеджере по Тесту, сообщение об ошибке появляется в журнале симуляции. Если при запуске тест вне менеджера по Тесту, сообщение появляется в Диагностическом Средстве просмотра. Чтобы отформатировать сообщение об ошибке, можно использовать любого sprintf формат, кроме строк и char в Stateflow® графики.

пример

verify(expression,identifier,errorMessage) использует identifier как метка для результатов испытаний. identifier используется в качестве метки сигнала в менеджере по Тесту. Если при запуске тест вне менеджера по Тесту, метка появляется в Инспекторе Данных моделирования или, для отказа, в Диагностическом Средстве просмотра. Идентификатор является строкой, которая имеет по крайней мере два разделенного от двоеточия MATLAB® идентификаторы.

Примеры

развернуть все

verify(x > y && z > 10)

Если этот verify сбои оператора, это возвращает сообщение об ошибке, которое перечисляет значения xY, и z.

verify(x > y && z > 10,'x, y, and z are %d,%d,%d',x,y,z)

Результат этого verify оператор снабжен предисловием меткой, TestReq1:bothGreater и, если тест перестал работать, сообщение об ошибке.

verify(x > y && z > 10,'TestReq1:bothGreater',...
   'x, y, and z are %d,%d,%d',x,y,z)

Второй шаг в состоянии Scenario1 этой диаграммы Stateflow проверяет, что цель равняется 60.

Stateflow chart with verify statement

Советы

  • Можно использовать verify операторы в Тестовой Оценке Последовательности и Теста блокируются и в диаграммах Stateflow. Лицензия Stateflow требуется, чтобы использовать график. verify операторы в графиках поддерживаются в тех же местоположениях, режимах выполнения, и для тех же целей генерации кода как блок Test Sequence.

  • Вы не можете использовать verify операторы в:

    • Блоки Test Sequence то непрерывное время использования, обновляясь. данные о блоке Test Sequence могут зависеть от факторов, таких как время шага решателя. Непрерывное время обновляясь может вызвать различия в когда данные о блоке и verify обновление операторов, которое может привести к неожиданному verify результаты оператора. Если ваша модель использует непрерывное время, и вы используете verify операторы в блоке Test Sequence или Test Assessment, рассмотрите явным образом установку дискретного шага расчета блока.

    • Мур, Мучнистое, Дискретное Событие или непрерывные графики

    • Графики, которые используют C в качестве языка действия

    • Свяжите действия в графике

    • Переход или действия условия в графике

    • Функции MATLAB, графические функции или таблицы истинности в графике

    • Функция MATLAB или блоки Таблицы истинности

    • Быстрые симуляции Режима Accelerator

    • Генерация кода предназначается кроме Simulink® Real-Time™ и HDL Verifier™

    • Автономные диаграммы Stateflow

  • Если вы используете параллельное выполнение теста, чтобы запустить ваши тесты, то вы не можете использовать кнопку Highlight in Model для в менеджере по Тесту к verify результаты.

  • Вы не можете использовать verify как условие сразу после when в, Когда разложение, потому что verify операторы не производят выход. Можно, однако, использовать verify операторы как действия в том, Когда разложение продвигается. Смотрите Оценивают Модель при помощи Когда Разложение.

  • При сравнении данных с плавающей точкой в verify операторы, считайте ограничения точности сопоставленными с числами с плавающей запятой. Если необходимо использовать данные с плавающей точкой, задайте допуск к верификации. Например, вместо verify(x == 5), проверьте x в допуске 0,001:

    verify(abs(x-5) < 0.001)
    Для получения дополнительной информации смотрите Числа с плавающей запятой.

Введенный в R2016a