exponenta event banner

matlab.unittest.qualifications.Assertable класс

Пакет: matlab.unittest.qualifications

Квалификация для проверки предварительных условий испытания

Описание

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

После неудачи утверждения, Assertable класс бросает AssertionFailedException для информирования структуры тестирования об отказе. Это наиболее полезно, когда сбой в точке утверждения делает остальные текущие методы тестирования недействительными, но не препятствует надлежащему выполнению других методов тестирования. Часто вы используете утверждения, чтобы убедиться, что предварительные условия текущего теста не нарушены или что приборы настроены правильно. Убедитесь, что содержимое теста - Exception Safe. Если вы не можете сделать исключение отрыва приспособления безопасным или если вы не можете восстановить его после сбоя, используйте неустранимые утверждения.

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

Методы

assertClassУтвердить точный класс указанного значения
assertEmptyЗначение Assert пусто
assertEqualЗначение Assert равно указанному значению
assertErrorAssert function выбрасывает указанное исключение
assertFailСоздать безусловный сбой утверждения
assertFalseЗначение Assert равно false
assertGreaterThanЗначение Assert больше указанного значения
assertGreaterThanOrEqualЗначение Assert больше или равно указанному значению
assertInstanceOfЗначение Assert является объектом указанного типа
assertLengthЗначение Assert имеет заданную длину
assertLessThanЗначение Assert меньше указанного значения
assertLessThanOrEqualЗначение Assert меньше или равно указанному значению
assertMatchesAssert string соответствует указанному регулярному выражению
assertNotEmptyЗначение Assert не пусто
assertNotEqualЗначение Assert не равно указанному значению
assertNotSameHandleЗначение Assert не обрабатывается указанным экземпляром
assertNumElementsЗначение Assert имеет указанное число элементов
assertReturnsTrueФункция Assert возвращает значение true при вычислении
assertSameHandleУтвердить два значения - это дескрипторы для одного экземпляра
assertSizeЗначение Assert имеет указанный размер
assertSubstringСтрока утверждения содержит указанную строку
assertThatУбедитесь, что значение соответствует указанному ограничению
assertTrueПодтвердить значение true
assertWarningУтверждение предупреждений о неполадках функции
assertWarningFreeФункция утверждения не выдает предупреждений

События

AssertionFailed

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

AssertionPassed

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

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

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

Примеры

свернуть все

Для проверки предварительных условий используйте утверждения. В этом примере создается тестовый случай для записи многочлена в MAT-файл.

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

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

Для выполнения команд MATLAB ® в разделе «Запуск теста DocPolynomStartLoadTest Case» добавьте DocPolynomSaveLoadTest.m в папку на вашем пути MATLAB.

testSaveLoad функция состоит из следующих фаз:

  • Этап 1: Настройка - создание и проверка кода предварительного условия.

  • Фаза 2: Упражнение - Создание DocPolynom и сохраните его в MAT-файле.

  • Фаза 3: Проверка - проверка того, что объект был успешно сохранен.

  • Фаза 4: Теардаун - выполнение кода теардауна.

Определите предварительное условие фазы 1. Для этого теста используйте временную папку для создания DocPolynom объект. Предпосылкой для продолжения этого теста является успешное выполнение следующих команд.

tempFolder = tempname; 
[success, message] = mkdir(tempFolder); 

Проверка результатов mkdir функция. Используйте assertTrue способ тестирования mkdir success аргумент для ошибок. Если утверждение имеет место, оставшаяся часть testSaveLoad метод теста недействителен, и тест помечен Incomplete.

testCase.assertTrue(success, ... 
    Diagnostic.join('Could not create the temporary folder.', ... 
        message)) 

Если mkdir сбой функции, MATLAB отображает диагностическое сообщение, Could not create the temporary folder, а также содержание mkdir message аргумент.

Добавьте код приспособления для отрыва. Создание временной папки - это код установки, который требует соответствующего вызова rmdir для восстановления исходного состояния MATLAB. Используйте addTeardown чтобы гарантировать, что отрывной код выполняется даже при возникновении исключения в середине тестового метода. Это делает тест исключением безопасным.

testCase.addTeardown(@() testCase.cleanUpTemporaryFolder(tempFolder)) 

Поместите код разрыва в функцию помощника. Хотя addTeardown оператор находится в том же кодовом блоке, что и mkdir инструкция установки, cleanUpTemporaryFolder выполняют код в фазе 4 способа тестирования.

В DocPolynomSaveLoadTest тестовый случай, вспомогательная функция, cleanUpTemporaryFolder, выполняет rmdir функция.

Определите предварительное условие для создания допустимого MAT-файла. Предварительное условие для проверки того, что DocPolynom объект был правильно сохранен и загружен, так что MAT-файл, DocPolynomFile.mat, успешно создан. Следующий код в Phase 2: Exercise блок проверяет это условие. Если утверждение имеет место, оставшаяся часть testSaveLoad метод теста недействителен, и тест помечен Failed и Incomplete.

 testCase.assertEqual(exist('DocPolynomFile.mat','file'), 2, ... 
     Diagnostic.join('The mat file was not saved correctly.', ...
     @() dir(pwd)))

Если файл не был создан, MATLAB отображает диагностическое сообщение, The mat file was not saved correctly, а также содержимое временной папки.

Управляемый DocPolynomSaveLoadTest Тестовый случай.

tc = DocPolynomSaveLoadTest;
run(tc);
Running DocPolynomSaveLoadTest
.
Done DocPolynomSaveLoadTest
__________

Подробнее

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

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