matlab.unittest.qualifications.Assertable class

Пакет: matlab.unittest.qualifications

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

Описание

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

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

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

Методы

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

События

AssertionFailed

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

AssertionPassed

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

Примеры

свернуть все

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

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

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

Выполнить команды MATLAB® в “Запущенном Тесте DocPolynomSaveLoadTest”, добавляют DocPolynomSaveLoadTest.m файл к папке на вашем пути MATLAB.

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

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

  • Фаза 2: осуществление — создает DocPolynom возразите и сохраните его в MAT-файл.

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

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

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