fatalAssertEqual

Класс: matlab.unittest.qualifications. FatalAssertable
Пакет: matlab.unittest.qualifications

Значение fatal assert равно заданному значению

Синтаксис

fatalAssertEqual(fatalAssertable,actual,expected)
fatalAssertEqual(___,Name,Value)
fatalAssertEqual(___,diagnostic)

Описание

fatalAssertEqual(fatalAssertable,actual,expected) фатально утверждает, что actual строго равно expected. Если expected не является MATLAB® или Java® объект, actual и expected должен иметь один и тот же класс, размер и значение для прохождения критического утверждения» fatalAssertEqual. сравнивает actual и expected так же, как и IsEqualTo ограничение.

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

fatalAssertEqual(___,diagnostic) также связывает диагностическую информацию в diagnostic с проверкой. В зависимости от конфигурации исполнителя тестов строение тестирования может отображать диагностику, когда проверка проходит или не проходит. По умолчанию среда отображает диагностику только в случае сбоя проверки. Поведение по умолчанию можно переопределить путем настройки исполнителя тестов. Для примера используйте DiagnosticsOutputPlugin образец для отображения как сбойной, так и проходящей диагностики событий.

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

fatalAssertable

The matlab.unittest.TestCase образец, который используется для прохождения или непрохождения критического утверждения» в сочетании с тестовой средой.

actual

Значение для тестирования.

expected

Ожидаемое значение.

diagnostic

Диагностическая информация, относящаяся к проверке, указывается как одно из следующего:

  • Строковые массивы

  • Символьный массив

  • указатель на функцию

  • matlab.unittest.diagnostics.Diagnostic объект

Значения диагностики могут быть нескалярными. Для получения дополнительной информации смотрите matlab.unittest.diagnostics.Diagnostic.

Аргументы в виде пар имя-значение

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

'AbsTol'

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

Чтобы абсолютная погрешность было удовлетворяема, abs(expected-actual) <= absTol должно быть true.

'RelTol'

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

Чтобы относительная погрешность было удовлетворяема, abs(expected-actual) <= relTol.*abs(expected) должно быть true.

Примеры

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

Числовые значения равны, если они имеют один и тот же класс с эквивалентными размером, сложностью и разреженностью.

В командной строке создайте тест для интерактивных проверок.

testCase = matlab.unittest.TestCase.forInteractiveUse;

Фатально утверждайте, что числовое значение равно самому себе.

fatalAssertEqual(testCase,5,5)
Fatal assertion passed.

Фатально утверждать, имеют ли фактическое и ожидаемые значения одинаковые размеры.

fatalAssertEqual(testCase,[5 5],5)
Fatal assertion failed.
    ---------------------
    Framework Diagnostic:
    ---------------------
    fatalAssertEqual failed.
    --> Sizes do not match.
        
        Actual size:
             1     2
        Expected size:
             1     1
    
    Actual Value:
         5     5
    Expected Value:
         5
Fatal assertion failed.

Фатально утверждайте, если int8 равен int16.

testCase = matlab.unittest.TestCase.forInteractiveUse;
fatalAssertEqual(testCase,int8(5),int16(5))
Fatal assertion failed.
    ---------------------
    Framework Diagnostic:
    ---------------------
    fatalAssertEqual failed.
    --> Classes do not match.
        
        Actual Class:
            int8
        Expected Class:
            int16
    
    Actual Value:
      int8
    
       5
    Expected Value:
      int16
    
       5
Fatal assertion failed.

Элементы равных массивов ячеек должны совпадать по классу, размеру и значению.

Фатально утверждайте, что массив ячеек равен себе.

testCase = matlab.unittest.TestCase.forInteractiveUse;
fatalAssertEqual(testCase,{'cell',struct,5},{'cell',struct,5})
Fatal assertion passed.

Фатально утверждайте, если 4.95 равно 5.

testCase = matlab.unittest.TestCase.forInteractiveUse;
fatalAssertEqual(testCase,4.95,5)
Fatal assertion failed.
    ---------------------
    Framework Diagnostic:
    ---------------------
    fatalAssertEqual failed.
    --> The numeric values are not equal using "isequaln".
    --> Failure table:
            Actual    Expected           Error              RelativeError    
            ______    ________    ___________________    ____________________
        
             4.95        5        -0.0499999999999998    -0.00999999999999996
    
    Actual Value:
       4.950000000000000
    Expected Value:
         5
Fatal assertion failed.

Фатально утверждайте, что различие между фактическим значением 1.5 и ожидаемое значение 2 находится внутри 1.

fatalAssertEqual(testCase,1.5,2,'AbsTol',1)
Fatal assertion passed.

Фатально утверждайте, что различие между фактическим и ожидаемым значениями меньше 10%. Отобразите диагностическую информацию после отказа.

fatalAssertEqual(testCase,1.5,2,'RelTol',0.1,...
    'Difference between actual and expected exceeds relative tolerance')
Fatal assertion failed.
    ----------------
    Test Diagnostic:
    ----------------
    Difference between actual and expected exceeds relative tolerance
    ---------------------
    Framework Diagnostic:
    ---------------------
    fatalAssertEqual failed.
    --> The numeric values are not equal using "isequaln".
    --> The error was not within relative tolerance.
    --> Failure table:
            Actual    Expected    Error    RelativeError    RelativeTolerance
            ______    ________    _____    _____________    _________________
        
             1.5         2        -0.5         -0.25               0.1       
    
    Actual Value:
       1.500000000000000
    Expected Value:
         2
Fatal assertion failed.

Совет

  • Этот метод функционально эквивалентен любому из следующих:

    import matlab.unittest.constraints.IsEqualTo;
    fatalAssertable.fatalAssertThat(actual, IsEqualTo(expected));
    import matlab.unittest.constraints.IsEqualTo;
    import matlab.unittest.constraints.AbsoluteTolerance;
    fatalAssertable.fatalAssertThat(actual, IsEqualTo(expected, ...
        'Within', AbsoluteTolerance(abstol)));
    import matlab.unittest.constraints.IsEqualTo;
    import matlab.unittest.constraints.RelativeTolerance;
    fatalAassertable.fatalAssertThat(actual, IsEqualTo(expected, ...
        'Within', RelativeTolerance(reltol)));
    import matlab.unittest.constraints.IsEqualTo;
    import matlab.unittest.constraints.AbsoluteTolerance;
    import matlab.unittest.constraints.RelativeTolerance;
    fatalAssertable.fatalAssertThat(actual, IsEqualTo(expected, ...
        'Within', AbsoluteTolerance(abstol) | RelativeTolerance(reltol)));

    При использовании IsEqualTo существует больше функциональности, AbsoluteTolerance, и RelativeTolerance ограничения непосредственно через fatalAssertThat.

  • Используйте критическое утверждение проверок, чтобы прервать тестовый сеанс после отказа. Эти типы проверки применяются, когда тип отказа настолько принципиален, что нет точки продолжать тестирование. Эти виды проверки также применяются фиксатором когда отключение не восстанавливает состояние MATLAB правильно, и лучше прекратить тестирование и начать новую сессию. Кроме того,

    • Используйте проверки типа утверждения, когда условие отказа делает недействительным оставшуюся часть текущего содержания теста, но не препятствует правильному выполнению последующих методов тестирования. При отказе в точке задания текущий метод тестирования становится неудачным и неполным. Для получения дополнительной информации смотрите matlab.unittest.qualifications.Assertable.

    • Используйте верификацию проверок для создания и записи отказов без выдачи исключения. Поскольку верификации не выдают исключения, все содержания теста запусков к завершению, даже когда верификация отказов произойти. Как правило, верификации типа «verification» являются основой для модульного теста, поскольку они обычно не требуют раннего выхода из теста. Используйте другие типы проверки для выявления нарушений предусловий или неправильной настройки теста. Для получения дополнительной информации смотрите matlab.unittest.qualifications.Verifiable.

    • Используйте проверки типа «assumption», чтобы убедиться, что тестовая среда соответствует предусловиям, которые не приводят к непройденному тесту. Нарушение условий приводит к отфильтрованным тестам, а среда тестирования помечает тесты как Incomplete. Для получения дополнительной информации смотрите matlab.unittest.qualifications.Assumable.

Введенный в R2013a