matlab.perftest.TestCase class

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

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

Описание

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

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.VerifiableПроверка, чтобы произвести мягкие условия отказа

Примеры

свернуть все

Создайте класс теста производительности, 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