matlab.unittest.qualifications.Assertable class

Пакет: matlab.unittest.qualifications

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

Описание

The Assertable класс предоставляет проверку типа «» qualification «» для проверки предусловий теста. Помимо действий, выполненных для отказов, Assertable класс работает так же, как и другие matlab.unittest проверки.

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

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

Методы

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

События

AssertionFailed

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

AssertionPassed

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

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

Указатель. Чтобы узнать, как классы handle влияют на операции копирования, см. раздел «Копирование объектов».

Примеры

свернуть все

Используйте assertable проверок для тестирования на предусловия. Этот пример создаст тест для записи полинома в MAT-файл.

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

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

Выполнение MATLAB® команды в «Run DocPolynomSaveLoadTest Test Case», добавить DocPolynomSaveLoadTest.m файл в папку по пути MATLAB.

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

  • Фаза 1: Setup - Создайте и проверьте код предусловия.

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

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

  • Фаза 4: Отключение - Выполните код teardown.

Определите предусловие фазы 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