проверить

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

Описание

пример

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

пример

verify(expression,errorMessage) возвращает указанную строку сообщения об ошибке для ошибки verify заявление. При выполнении теста в диспетчере тестов в журнале моделирования появляется сообщение об ошибке. Если тест выполняется вне диспетчера тестов, сообщение появляется в средстве просмотра диагностики.

пример

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

Примеры

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

verify(x > y && z > 10)

Если это verify оператор failes, он возвращает сообщение об ошибке, в котором перечислены значения x, y, и 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.

Совет

  • Вы можете использовать verify операторы в блоках тестовой последовательности и тестовой оценки и в диаграммах Stateflow ®. Для использования диаграммы требуется лицензия Stateflow .verify операторы в диаграммах поддерживаются в тех же местоположениях, режимах выполнения и для тех же целей генерации кода, что и блок тестовой последовательности.

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

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

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

    • Диаграммы, использующие C в качестве языка действий

    • Привязка действий в диаграмме

    • Действия перехода или условия в диаграмме

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

    • Блоки таблицы функций или истинности MATLAB

    • Моделирование в режиме быстрого ускорения

    • Цели создания кода, отличные от Simulink ® Real-Time™ и HDL Verifier™

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

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

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

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

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

Представлен в R2016a