exponenta event banner

assertSignalsMatch

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

Утверждение двух эквивалентных наборов данных

Описание

пример

assertSignalsMatch(testCase,actual,expected) фильтрует содержимое теста, утверждая, что фактические и ожидаемые значения данных сигнала эквивалентны. Если утверждение завершается неуспешно, контрольная точка или тестовый файл прекращается, и этот тест помечается как неуспешный. Эта квалификация полезна, когда сбой в точке утверждения делает остальные текущие методы тестирования недействительными, но не препятствует надлежащему выполнению других методов тестирования. Часто утверждения используются для проверки того, что предварительные условия текущего теста не нарушены или что приборы настроены правильно. Дополнительные сведения см. в разделе matlab.unittest.qualifications.Assertable.

пример

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

пример

assertSignalsMatch(___,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 должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

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

В дополнение к перечисленным парам Наименование (Name) - Значение (Value) можно использовать Simulink.sdi.constraints.MatchesSignal Пары Наименование (Name) - Значение (Value).

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

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

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

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

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

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

Признаки

Accesspublic
Sealedtrue

Сведения об атрибутах методов см. в разделе Атрибуты метода.

Примеры

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

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

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

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

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

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

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

testCase =...
   sltest.TestCase.forInteractiveUse;
 
actual = testCase.simulate('myModel',...
   'SimulationMode','Rapid-Accelerator');
 
testCase.assertSignalsMatch(actual,'baseline.mat',...
   'Rapid-Accel output did not match.')
 
Представлен в R2020b