Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

matlab.perftest.TestCase クラス

名前空間: matlab.perftest
スーパークラス: matlab.unittest.TestCase

matlab.perftest パフォーマンス テスト クラスのスーパークラス

説明

測定境界の定義が可能なクラスベースのパフォーマンス テストを作成するには、matlab.perftest.TestCase クラスを使用します。既定では、フレームワークはテスト メソッドの境界の周囲でパフォーマンスを測定します。しかし、matlab.perftest.TestCase から継承するテスト クラスは startMeasuring メソッドおよび stopMeasuring メソッドを使用して境界を定義し、特定のコード セグメントを測定できます。

matlab.perftest.TestCasematlab.unittest.TestCase クラスから派生します。

構築

テスト フレームワークは matlab.perftest.TestCase インスタンスを作成します。

メソッド

keepMeasuring自動ループによるコードの測定
startMeasuring測定境界の開始を指定
stopMeasuring測定境界の終了を指定

継承メソッド

addTeardown破棄コードをテスト ケースに動的に追加
applyFixture テスト ケースでフィクスチャを使用
createTemporaryFolder Create temporary folder
forInteractiveUse対話型で使用するテスト ケースを作成
getSharedTestFixtures 共有テスト フィクスチャへのアクセスの提供
logテスト実行中の診断情報の記録
onFailureテスト失敗の診断情報を動的に追加
runテスト ケースに対応するテストを実行

また、TestCase クラスは以下のクラスからメソッドを継承します。

matlab.unittest.qualifications.Assertableテストの前提条件を検証する検定
matlab.unittest.qualifications.Assumableテストの内容をフィルター処理する検定
matlab.unittest.qualifications.FatalAssertableテストの実行を中断する検定
matlab.unittest.qualifications.Verifiableソフトエラー条件を生成する検定

コピーのセマンティクス

ハンドル。コピー操作に対するハンドル クラスの影響については、オブジェクトのコピーを参照してください。

すべて折りたたむ

パフォーマンス テスト クラス preallocationTest を作成します。パフォーマンス テスト フレームワークは 4 つのテスト メソッドのそれぞれについて時間を測定します。

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 で導入