matlab.perftest. Класс TestCase

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

Суперкласс классов теста производительности matlab.perftest

Описание

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

matlab.perftest.TestCase выводит от matlab.unittest.TestCase Класс TestCase.

Конструкция

Среда тестирования создает  экземпляры matlab.perftest.TestCase.

Методы

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

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

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

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

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

Примеры

свернуть все

Создайте класс теста производительности, 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. Среда тестирования производительности измеряет код между вызовами методов stopMeasuring и startMeasuring. Этот контур ограничивает среду тестирования производительности измерением только вызова функции 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

Была ли эта тема полезной?