fatalAssertNotCalled

Класс: matlab.mock. TestCase
Пакет: matlab.mock

Фатально утверждайте, что метод не был вызван определенными входными значениями

Синтаксис

fatalAssertNotCalled (testcase, поведение, диагностика)

Описание

fatalAssertNotCalled(testcase,behavior,diagnostic) фатально утверждает, что метод не был вызван определенными входными значениями.

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

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

Образец тестового примера, заданный как объект matlab.mock.TestCase.

Поведение макета, заданного как matlab.mock.MethodCallBehavior Экземпляр MethodCallBehavior. Чтобы создать экземпляр matlab.mock.MethodCallBehavior, вызовите метод объекта поведения.

Пример: withExactInputs (myMockBehavior.myMockedMethod)

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

Пример: "Мое диагностическое сообщение".

Пример: @ () datetime ('now')

Примеры

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

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

testCase = matlab.mock.TestCase.forInteractiveUse;
[mock,behavior] = testCase.createMock('AddedMethods',"foo");
mock.foo(123);

Случаи прохождения теста.

testCase.fatalAssertNotCalled(behavior.foo(456));
testCase.fatalAssertNotCalled(withExactInputs(behavior.foo));

Случаи непрохождения теста.

testCase.fatalAssertNotCalled(behavior.foo(123));
testCase.fatalAssertNotCalled(behavior.foo(123), ...
    'Method foo should not have been called with input 123.');

Советы

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

  • Используйте проверку типа "verification" для создания и записи сбоев без выдачи исключения. Поскольку проверки не выдают исключения, все тесты выполняются до своего завершения, даже когда имеют место сбои в проверке. "Обычно проверки типа ""verification""являются основными для тестирования модуля, так как они обычно не требуют раннего выхода из теста.". Используйте другие типы проверки для выявления нарушений предварительных обязательных условий или неправильной настройки теста.

  • Используйте проверку типа "assumption", чтобы убедиться, что тестовая среда соответствует предварительным обязательным условиям, которые не приводят к ошибке тестирования. Нарушение условий приводит к фильтрации тестов, а среда тестирования помечает тесты как незавершенные.

  • Используйте проверку типа "assertion", когда состояние отказа делает недействительным оставшуюся часть текущего теста, но не препятствует правильному выполнению последующих видов тестирования. Отказ в точке утверждения отмечает текущий метод тестирования, как отказавший и неполный.

Альтернативы

Используя fatalAssertNotCalled метод функционально эквивалентен использованию отрицаемого ограничения matlab.mock.constraints.WasCalled с методом fatalAssertThat класса FatalAssertable. Например, следующие блоки кода функционально эквивалентны.

% Using the fatalAssertNotCalled method
testCase.fatalAssertNotCalled(behavior.foo(456), ...
    'Method foo should not have been called with input 456.')

% Using the WasCalled constraint with fatalAssertThat method
import matlab.mock.constraints.WasCalled;
testCase.fatalAssertThat(behavior.foo(456),~WasCalled, ...
    'Method foo should not have been called with input 456.')
Однако существует больше функциональности, когда вы используете ограничение WasCalled. Например, можно указать, что метод не был назван определенным числом времен.

Смотрите также

Введенный в R2017a

Была ли эта тема полезной?