fatalAssertSignalsMatch

Класс: sltest.TestCase
Пакет: sltest

Фатально утверждайте, что два набора данных эквивалентны

Описание

пример

fatalAssertSignalsMatch(testCase,actual,expected) фатально утверждает, что фактические и ожидаемые значения данных сигнала эквивалентны. Когда критическое утверждение перестало работать, целый сеанс тестирования останавливается. Это полезно, когда тест содержит столько ошибок, что он не целесообразен продолжать сеанс тестирования.

пример

fatalAssertSignalsMatch(___,diagnostic) возвращает диагностическую информацию, когда фактические и ожидаемые значения данных не эквивалентны..

пример

fatalAssertSignalsMatch(___,Name,Value) фатально утверждает с дополнительными опциями, заданными одним или несколькими Name,Value парные аргументы.

Входные параметры

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

Экземпляр теста в виде sltest.TestCase объект.

Фактические значения, чтобы выдержать сравнение с ожидаемыми значениями в виде данных временных рядов, строки или символьного массива. Данные для каждого фактического значения должны соединить значение данных с временной стоимостью. Данные должны быть в формате, поддержанном Инспектором Данных моделирования. Инспектор Данных моделирования требует данных в формате, который сопоставляет демонстрационные значения со временем. Поддерживаемые форматы включают timeseries, Structure with time, и Dataset.

Пример: 'C:/matlab/data/actualData.mat'

Ожидаемые значения, чтобы использовать в качестве базовой линии для сравнения. Данные для каждого ожидаемого значения должны соединить значение данных с временной стоимостью. Данные должны быть в формате, поддержанном Инспектором Данных моделирования. Инспектор Данных моделирования требует данных в формате, который сопоставляет демонстрационные значения со временем. Поддерживаемые форматы включают timeseries, Structure with time, и Dataset.

Пример: 'C:/matlab/data/expectedData.mat'

Диагностическая информация, чтобы отобразиться, когда критическое утверждение, что фактические и ожидаемые значения являются эквивалентными сбоями в виде строки, символьного массива, указателя на функцию или экземпляра matlab.unittest.diagnostics.Diagnostic класс.

Пример: 'Simulation output does not match.'

Аргументы name-value

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'AbsTol',.02

В дополнение к перечисленным Парам "имя-значение" можно использовать Simulink.sdi.constraints.MatchesSignal Пары "имя-значение".

Абсолютная погрешность в виде разделенной запятой пары, состоящей из 'AbsTol' и скалярное значение допуска. Допуск задает величину различия между фактическими и ожидаемыми значениями.

Пример: 'AbsTol', 1e-9

Относительная погрешность в виде разделенной запятой пары, состоящей из 'RelTol' и скалярное значение допуска. Относительная погрешность задает величину различия между фактическими и ожидаемыми значениями относительно ожидаемого значения.

Пример: 'RelTol',.002

Допуск времени в виде разделенной запятой пары, состоящей из 'TimeTol' и скалярное значение допуска.

Пример: 'TimeTol',.2

Примеры

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

Создайте тест для интерактивного использования. Затем симулируйте модель в режиме normal mode, чтобы получить ожидаемые значения и симулировать в быстром режиме Accelerator, чтобы получить фактические значения. Используйте fatalAssertSignalsMatch сравнить значения.

testCase =...
   sltest.TestCase.forInteractiveUse;
 
expected = testCase.simulate('myModel',...
   'SimulationMode','Normal');
actual = testCase.simulate('myModel',...
   'SimulationMode','Rapid-Accelerator');
 
testCase.fatalAssertSignalsMatch(actual,expected)

Создайте тест для интерактивного использования. Симулируйте модель в быстром режиме Accelerator, чтобы получить фактические значения. Используйте fatalAssertSignalsMatch сравнить фактические значения с базовыми значениями, сохраненными в MAT-файле. Установите относительную погрешность.

testCase =...
   sltest.TestCase.forInteractiveUse;
 
actual = testCase.simulate('myModel',...
   'SimulationMode','Rapid-Accelerator');

testCase.fatalAssertSignalsMatch(actual,'baseline.mat',...
   'RelTol',0.001)
 

Создайте тест для интерактивного использования. Затем симулируйте модель в быстром режиме Accelerator, чтобы получить фактические значения. Используйте fatalAssertSignalsMatch сравнить фактические значения с базовыми значениями, сохраненными в MAT-файле. Задайте диагностическое сообщение, чтобы отобразиться, если утверждение перестало работать.

testCase =...
   sltest.TestCase.forInteractiveUse;
 
actual = testCase.simulate('myModel',...
   'SimulationMode','Rapid-Accelerator');
 
testCase.fatalAssertSignalsMatch(actual,'baseline.mat',...
   'Rapid-Accel output did not match.')
 
Введенный в R2020b