matlab.perftest.TestCase class

Пакет: matlab.perftest
Суперклассы: matlab.unittest.TestCase

Суперкласс matlab.perftest классы тестирования эффективности

Описание

Используйте matlab.perftest.TestCase класс, чтобы записать основанные на классах тесты эффективности, которые могут задать контуры измерения. По умолчанию среда измеряет эффективность вокруг контура тестового метода. Однако тестовые классы, которые наследуют от matlab.perftest.TestCase может использовать startMeasuring и stopMeasuring методы определения контуров для измерения конкретных сегментов кода.

The matlab.perftest.TestCase выводится из matlab.unittest.TestCase класс.

Конструкция

Среда тестирования создает matlab.perftest.TestCase образцы.

Методы

keepMeasuringИзмерьте код с автоматическим закольцовыванием
startMeasuringОбозначите начало контура измерения
stopMeasuringОбозначите конец контура измерения

Унаследованные методы

addTeardownДинамически добавляйте стандартную программу отключения к TestCase образец
applyFixtureИспользуйте фиксатор с TestCase
forInteractiveUseСоздайте TestCase для интерактивного использования
getSharedTestFixturesОбеспечьте доступ к общим испытательным стендам
журналЗапись диагностической информации во время выполнения теста
onFailureДинамически добавляйте диагностику для непройденных тестов
управляемыйВыполняйте TestCase тест

Кроме того, TestCase класс наследует методы от этих классов:

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

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

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

Примеры

свернуть все

Создайте класс тестирования эффективности, preallocationTest. Среда тестирования эффективности измеряет время для каждого из четырех методов тестирования.

classdef preallocationTest < matlab.perftest.TestCase
    methods(Test)
        function testOnes(testCase)
            x = ones(1,1e7);
        end
        
        function testIndexingWithVariable(testCase)
            id = 1:1e7;
            x(id) = 1;
        end
        
        function testIndexingOnLHS(testCase)
            x(1:1e7) = 1;
        end
        
        function testForLoop(testCase)
            for i=1:1e7
                x(i) = 1;
            end
        end
        
    end
end

Создайте класс тестирования эффективности, fprintfTest. Среда тестирования эффективности измеряет код между вызовами к startMeasuring и stopMeasuring методы. Этот контур ограничивает среду тестирования эффективности измерением только вызова fprintf функция. Это исключает действия настройки и отключения, а также проверку проверок.

classdef fprintfTest < matlab.perftest.TestCase
    methods(Test)
        function testPrintingToFile(testCase)
            file = tempname;
            fid = fopen(file, 'w');
            testCase.assertNotEqual(fid, -1, 'IO Problem');
            
            stringToWrite = repmat('abcdef', 1, 1000000);
            
            testCase.startMeasuring();
            fprintf(fid, '%s', stringToWrite);
            testCase.stopMeasuring();
            
            testCase.verifyEqual(fileread(file), stringToWrite);
            fclose(fid);
        end
    end
end
Введенный в R2016a