assertSignalsMatch

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

Предположим, что два набора данных эквивалентны

Описание

пример

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

пример

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

пример

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

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

расширить все

Образец теста, заданный как sltest.TestCase объект.

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

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

Ожидаемые значения, которые будут использоваться в качестве опорной структуры для сравнения. Данные для каждого ожидаемого значения должны связывать значение данных со значением времени. Данные должны быть в формате, поддерживаемом Данными моделирования Inspector. Инспектор Данных моделирования требует данных в формате, который связывает выборку значения со временем. Поддерживаемые форматы включают 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

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

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

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

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

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

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

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

Признаки

Accesspublic
Sealedtrue

Чтобы узнать об атрибутах методов, см. «Атрибуты метода».

Примеры

расширить все

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

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

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

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

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

Создайте тест для интерактивного использования. Затем моделируйте модель в быстром режиме Accelerator, чтобы получить фактические значения. Использование 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