exponenta event banner

matlab.unittest.qualifications.Проверяемый класс

Пакет: matlab.unittest.qualifications

Квалификация для создания условий мягкого отказа

Описание

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

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

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

Методы

verifyClassПроверить точный класс указанного значения
verifyEmptyПроверка пустого значения
verifyEqualУбедитесь, что значение равно указанному значению
verifyErrorУбедитесь, что функция выдает указанное исключение
verifyFailСоздать безусловный сбой проверки
verifyFalseПроверьте значение false
verifyGreaterThanУбедитесь, что значение больше указанного значения
verifyGreaterThanOrEqualУбедитесь, что значение больше или равно указанному значению
verifyInstanceOfПроверьте, что значение является объектом указанного типа
verifyLengthУбедитесь, что значение имеет заданную длину
verifyLessThanУбедитесь, что значение меньше указанного значения
verifyLessThanOrEqualУбедитесь, что значение меньше или равно указанному значению
verifyMatchesПроверка соответствия строки указанному регулярному выражению
verifyNotEmptyПроверьте, что значение не пусто
verifyNotEqualПроверьте, что значение не равно указанному значению
verifyNotSameHandleПроверка того, что значение не обрабатывается указанным экземпляром
verifyNumElementsУбедитесь, что значение имеет указанное число элементов
verifyReturnsTrueФункция проверки возвращает значение true при вычислении
verifySameHandleУбедитесь, что два значения являются дескрипторами для одного экземпляра
verifySizeУбедитесь, что значение имеет указанный размер
verifySubstringПроверить, что строка содержит указанную строку
verifyThatПроверка соответствия значения заданному ограничению
verifyTrueПроверьте значение true
verifyWarningПроверка предупреждений о проблемах с функциями
verifyWarningFreeПроверка ошибок функции без предупреждений

События

VerificationFailed

Срабатывает при неуспешной проверке. A QualificationEventData передается функциям обратного вызова прослушивателя.

VerificationPassed

Срабатывает при прохождении проверки. A QualificationEventData передается функциям обратного вызова прослушивателя.

Копирование семантики

Ручка. Сведения о том, как классы обработки влияют на операции копирования, см. в разделе Копирование объектов.

Примеры

свернуть все

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

Создать DocPolynomTest Тестовый случай. См. следующее: DocPolynomTest тестовый случай на последующих шагах в этом примере, которые выделяют определенные функции в файле.

 Файл определения класса DocPolynomTest

Для выполнения команд MATLAB ® в этом примере добавьте DocPolynomTest.m в папку на вашем пути MATLAB.

Запись теста для проверки конструктора. Создайте функцию, testConstructor, с использованием verifyClass способ тестирования DocPolynom конструктор класса.

function testConstructor(testCase)
    p = DocPolynom([1, 0, 1]);
    testCase.verifyClass(p, ?DocPolynom)
end

Запись тестов для проверки операций. В testAddition , используйте verifyEqual метод проверки уравнения (x^2 + 1) + (5*x + 2) = x^2 + 5*x + 3. verifyEqual метод включает это уравнение в diagnostic аргумент.

function testAddition(testCase)
    p1 = DocPolynom([1, 0, 1]);
    p2 = DocPolynom([5, 2]);
    
    actual = p1 + p2;
    expected = DocPolynom([1, 5, 3]);
    
    msg = [testCase.msgEqn,...
        '(x^2 + 1) + (5*x + 2) = x^2 + 5*x + 3'];
    testCase.verifyEqual(actual, expected, msg)
end

Функция, testMultiplication, проверяет операции умножения.

Выполните тесты в DocPolynomTest тестовый случай.

tc = DocPolynomTest;
ts = matlab.unittest.TestSuite.fromClass(?DocPolynomTest);
res = run(ts);
Running DocPolynomTest
...
Done DocPolynomTest
__________

Все тесты прошли.

Представлен в R2013a