matlab.unittest.qualifications.FatalAssertable class

Пакет: matlab.unittest.qualifications

Проверка, чтобы прервать выполнение теста

Описание

FatalAssertable класс обеспечивает проверку, чтобы прервать выполнение теста. Кроме действий, выполняемых для отказов, FatalAssertable класс работает то же самое другими классами проверки в matlab.unittest.qualifications пакет.

После отказа критического утверждения, FatalAssertable класс сообщает среде тестирования об отказе путем броска FatalAssertionFailedException объект. Среда затем отображает диагностическую информацию для отказа и прерывает сеанс тестирования. Это поведение полезно, когда отказ является так основным, что продолжение тестирования не целесообразно. Кроме того, можно использовать критические утверждения в отключении фиксатора, чтобы гарантировать, что состояние среды восстанавливается правильно. Если можно сделать исключение отключения фиксатора безопасным и восстановить состояние после отказа, используйте утверждения вместо этого.

Критические утверждения предотвращают ложные непройденные тесты из-за отказа основного теста. Они также предотвращают ложные непройденные тесты, когда предшествующему тесту не удается восстановить состояние. Если среда не может правильно разъединить фиксаторы, необходимо вручную сбросить состояние. Например, вы можете должны быть перезапустить MATLAB®.

matlab.unittest.qualifications.FatalAssertable классом является handle класс.

Методы

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

События

EventNameТриггерДанные о событияхАтрибуты события
FatalAssertionFailedИнициированный после сбоя критического утверждения. QualificationEventData объект передается функциям обратного вызова прослушивателя.matlab.unittest.qualifications.QualificationEventData

NotifyAccess: private

ListenAccess: public

FatalAssertionPassedИнициированный после передачи критического утверждения. QualificationEventData объект передается функциям обратного вызова прослушивателя.matlab.unittest.qualifications.QualificationEventData

NotifyAccess: private

ListenAccess: public

Примеры

свернуть все

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

В файле в вашей текущей папке создайте setUserName функция. Функция использует вызов setenv установить 'UserName' переменная окружения.

function setUserName(name)
setenv('UserName',name)
end

Протестировать setUserName функционируйте, создайте тестовый класс под названием SetUserNameTest в вашей текущей папке. Задайте необходимые члены класса для своего теста:

  • OriginalUserName свойство — Использование это свойство сбросить переменную окружения после теста.

  • testUpdate Test метод — Хранилище исходное значение переменной окружения, вызовите функцию под тестом и проверьте, что функция устанавливает переменную окружения на ожидаемое значение. Поскольку изменения состояния во время теста, включайте вызов addTeardown восстановить состояние однажды тестовые прогоны к завершению.

  • resetUserName вспомогательный метод — Вызов setUserName функционируйте, чтобы сбросить переменную окружения. Если операция не успешна, прервите сеанс тестирования с помощью отказа критического утверждения.

classdef SetUserNameTest < matlab.unittest.TestCase
    properties (SetAccess = private)
        OriginalUserName
    end
    
    methods (Test)
        function testUpdate(testCase)
            testCase.OriginalUserName = getenv('UserName');
            setUserName('David')
            testCase.addTeardown(@() testCase.resetUserName)
            testCase.verifyEqual(getenv('UserName'),'David')
        end
    end

    methods (Access = private)
        function resetUserName(testCase)
            setUserName(testCase.OriginalUserName)
            testCase.fatalAssertEqual(getenv('UserName'),testCase.OriginalUserName)
        end
    end
end

Запустите SetUserNameTest класс. Тестовые передачи.

runtests("SetUserNameTest")
Running SetUserNameTest
.
Done SetUserNameTest
__________
ans = 
  TestResult with properties:

          Name: 'SetUserNameTest/testUpdate'
        Passed: 1
        Failed: 0
    Incomplete: 0
      Duration: 0.0226
       Details: [1×1 struct]

Totals:
   1 Passed, 0 Failed, 0 Incomplete.
   0.022649 seconds testing time.

Больше о

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

Введенный в R2013a