verify
Можно проверить симуляцию модели включением блока Test Assessment в модели или тестовой обвязке и авторской разработке операторов verify
в блоке Test Assessment. операторы verify
возвращают pass
, fail
или результаты untested
и для полной симуляции и для отдельных временных шагов. Результаты появляются в менеджере по Тесту.
verify
в тестовом блоке оценкиТестовая Оценка содержит последовательность разложения When
. Последовательность разложения When
помогает вам ясно задать условие симуляции, которое активирует каждый оператор verify
:
Если ваша модель использует источник блока Test Sequence, рассмотрите активацию каждого оператора verify
с помощью активного шага блока Test Sequence.
Если ваша модель не использует источник блока Test Sequence, или ваши тестовые шаги последовательности не соответствуют условиям проверить, активировать каждый оператор verify
с помощью условия сигнала.
verify
тестовыми шагами последовательностиСоедините блок Test Sequence и Test Assessment с активным сигналом шага от блока Test Sequence. Активируйте каждый оператор verify
активным шагом.
Например, эта тестовая обвязка содержит блок Test Sequence и Test Assessment. Блоки соединяются сигналом Active_Step
.
Блок Test Assessment содержит последовательность разложения When
с четырьмя подшагами. Каждый содержит оператор verify
и активируется различным шагом блока Test Sequence.
Чтобы активироваться проверяют, что операторы в Тестовой Оценке с активными шагами в Тестовой Последовательности блокируются:
Создайте активный вывод данных шага для блока Test Sequence:
Выберите блок Test Sequence.
Создайте новый перечислимый вывод данных. В Property Inspector выберите Create data to monitor the active step.
Назовите перечисление.
Создайте ввод данных для блока Test Assessment:
Откройте блок Test Assessment.
На боковой панели Symbols, рядом с Input, кликают по значку Add data.
Назовите вход.
В блок-схеме соедините блок Test Sequence вывод с входом блока Test Assessment.
Создайте последовательность разложения When
в блоке Test Assessment.
Блок Test Assessment сконфигурирован по умолчанию с последовательностью разложения When
. Чтобы измениться между стандартной последовательностью и последовательностью разложения When
, щелкните правой кнопкой по родительскому шагу и выберите When decomposition.
Для каждого шага разложения When
задайте, когда шаг будет активен при помощи активных данных о перечислении шага. Например:
VerifyBoth when TSActiveStepIN == TSActiveStepEnum.PressBothButtons
Добавьте операторы verify
в каждый шаг оценки.
verify
условиями сигналаЕсли ваша модель не использует источник блока Test Sequence, или если Тестовые шаги Последовательности не соответствуют условиям проверить, используйте уникальные условия сигнала активировать операторы verify
. Поместите операторы verify
в последовательность разложения When
и используйте условные операторы в условиях When
.
Например, эта тестовая обвязка использует вход блока Signal Builder.
Блок Test Assessment содержит последовательность разложения When
. Каждый подшаг содержит оператор verify
. Уникальное условие сигнала активирует каждый подшаг.
verify
Операторы verify
выполняют логические выражения. Можно маркировать результаты в менеджере по Тесту с дополнительными аргументами.
Оператор verify
возвращает pass
, fail
или результат untested
для каждого временного шага и для полной симуляции. fail
в любое время продвигается результаты в полный fail
. Если нет никаких провальных результатов, pass
в любое время продвигаются результаты в полный pass
. В противном случае полным результатом является untested
. Результаты появляются в разделе Verify Statements результатов испытаний.
Операторы verify
используют синтаксис:
verify(expression) verify(expression,errorMessage) verify(expression,identifier,errorMessage)
где expression
является логическим выражением. Используйте дополнительные аргументы, чтобы задать errorMessage
и оператор identifier
. Сообщения об ошибке отображаются в диагностическом средстве просмотра. Можно использовать сообщения об ошибке, чтобы отобразить значения ключа в то время сбои оператора.
Например, если verify
выполняет выражение, содержащее переменные x
и y
, можно отобразить значения x
и y
с помощью строки:
'x and y values are %d, %d',x,y
Идентификатор маркирует результаты verify
в менеджере по Тесту. Идентификатор использует строку формы 'prefix:suffix'
. prefix
и suffix
являются алфавитно-цифровыми строками. Например:
'SimulinkTest:x_equals_y'
verify
verify
не поддержан в Тестовых блоках Последовательности, которые используют непрерывно-разовое обновление. Тестовые данные о блоке Sequence могут зависеть от факторов, таких как время шага решателя. Непрерывно-разовое обновление может вызвать различия в том, когда данные о блоке и обновление операторов verify
, которое может привести к неожиданным результатам оператора verify
.
Если ваша модель использует непрерывное время, и вы используете операторы verify
в блоке Test Sequence или Test Assessment, рассматриваете явным образом установку дискретного шага расчета блока.
Если вы используете параллельное выполнение теста, чтобы запустить ваши тесты, то вы не можете использовать кнопку Highlight in Model для результатов verify
.
В этом сравнении двух значений родительский шаг использует операторы verify
, чтобы оценить две локальных переменные x
и y
во время симуляции.
verify(x >= y)
передает в целом, потому что это верно для целой тестовой последовательности.
verify(x == y)
и verify(x ~= y)
перестали работать, потому что они перестали работать в step_1_2
и step_1_1
, соответственно.
Менеджер по Тесту отображает результаты:
Протестируйте оценку | Протестируйте последовательность | Протестируйте редактор последовательности