Main Content

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

runtests

一連のテストの実行

説明

testResults = runtests は、現在のフォルダーのすべてのテストを実行し、テスト結果を返します。

testResults = runtests(tests) は、指定したテストを実行します。

testResults = runtests(___,Name,Value) は、前述の構文の入力引数の任意の組み合わせに加え、1 つ以上の名前と値の引数を使用してオプションを指定します。たとえば、testResults = runtests("IncludeSubfolders",true) は、現在のフォルダーおよびそのすべてのサブフォルダー内にあるすべてのテストを実行します。

[testResults,coverageResults] = runtests(___) は、名前と値の引数 ReportCoverageFor を指定した場合にコード カバレッジ解析の結果も返します。 (R2023b 以降)

すべて折りたたむ

現在の作業フォルダーに myExample というフォルダーを作成し、そのフォルダーに切り替えます。

myExample フォルダーに typeTest.m というテスト スクリプトを作成します。

%% Test double class
exp = 'double';
act = ones;
assert(isa(act,exp))

%% Test single class
exp = 'single';
act = ones('single');
assert(isa(act,exp))

%% Test uint16 class
exp = 'uint16';
act = ones('uint16');
assert(isa(act,exp))

myExample フォルダーに sizeValueTest.m というテスト スクリプトを作成します。

%% Test size
exp = [7 13];
act = ones([7 13]);
assert(isequal(size(act),exp))

%% Test values
act = ones(42);
assert(unique(act) == 1)

現在のフォルダー内のすべてのテストを実行します。

runtests
Running sizeValueTest
..
Done sizeValueTest
__________

Running typeTest
...
Done typeTest
__________


ans = 

  1x5 TestResult array with properties:

    Name
    Passed
    Failed
    Incomplete
    Duration
    Details

Totals:
   5 Passed, 0 Failed, 0 Incomplete.
   0.038077 seconds testing time.

MATLAB® で実行されたテストは 5 つです。sizeValueTest の 2 つのテストと typeTest の 3 つのテストにパスしています。

以下に示すテスト ファイルを作成し、MATLAB パス上に runtestsExampleTest.m として保存します。

function tests = runtestsExampleTest
tests = functiontests(localfunctions);

function testFunctionOne(testCase)

テストを実行します。

results = runtests('runtestsExampleTest.m');
Running runtestsExampleTest
.
Done runtestsExampleTest
__________

前の例の runtestsExampleTest.m テスト ファイルが存在しない場合は作成します。

サブフォルダー tmpTest を作成して、そのフォルダーに次の runtestsExampleSubfolderTest.m テスト ファイルを作成します。

function tests = runtestsExampleSubfolderTest
tests = functiontests(localfunctions);

function testFunctionTwo(testCase)

IncludeSubfolderstrue として指定して、tmpTest の上のフォルダーからテストを実行します。関数 runtests は現在のフォルダーとサブフォルダー内のテストを実行します。

results = runtests(pwd,"IncludeSubfolders",true);
Running runtestsExampleTest
.
Done runtestsExampleTest
__________

Running runtestsExampleSubFolderTest
.
Done runtestsExampleSubFolderTest
__________

名前と値の引数 IncludeSubfolders を指定しなかった場合、runtests はサブフォルダー内のテストを実行しません。

results = runtests(pwd);
Running runtestsExampleTest
.
Done runtestsExampleTest
__________

現在のフォルダーがプロジェクトのルート フォルダーであるか、プロジェクトのルート フォルダーへのパスを関数 runtests に渡した場合、runtests は、Test の分類ラベルが付けられた、指定されたプロジェクトに含まれるすべてのテスト ファイルを実行します。

この例では、C:\projects\project1 のプロジェクト フォルダーに Test の分類ラベルが付けられたテスト ファイルが含まれていると仮定します。現在のフォルダーをプロジェクトのルート フォルダーに変更し、プロジェクト内のテストを実行します。

cd 'C:\projects\project1'
runtests

あるいは、project1 を開いてテストを実行することもできます。終了したらプロジェクトを閉じます。

proj = openProject('C:\projects\project1');
runtests
close(proj)

さらに別の方法として、プロジェクトのルート フォルダーへの絶対パスを runtests に渡してプロジェクト内のテストを実行することもできます。

runtests('C:\projects\project1')

現在のフォルダー内に runInParallelTest.m という名前のファイルで次の関数ベースのテストを作成します。

function tests = runInParallelTest
tests = functiontests(localfunctions);

function testA(testCase)
verifyEqual(testCase,5,5);

function testB(testCase)
verifyTrue(testCase,logical(1));

function testC(testCase)
verifySubstring(testCase,'SomeLongText','Long');

function testD(testCase)
verifySize(testCase,ones(2,5,3),[2 5 3]);

function testE(testCase)
verifyGreaterThan(testCase,3,2);

function testF(testCase)
verifyEmpty(testCase,{},'Cell array is not empty.');

function testG(testCase)
verifyMatches(testCase,'Some Text','Some [Tt]ext');

テストを並列実行します。テストを並列実行するには Parallel Computing Toolbox™ が必要です。テスト フレームワークによって、グループの順序と数、あるいは各グループに含めるテストが異なる場合があります。

results = runtests("runInParallelTest.m","UseParallel",true);
Split tests into 7 groups and running them on 4 workers.
----------------
Finished Group 2
----------------
Running runInParallelTest
.
Done runInParallelTest
__________


----------------
Finished Group 3
----------------
Running runInParallelTest
.
Done runInParallelTest
__________


----------------
Finished Group 1
----------------
Running runInParallelTest
.
Done runInParallelTest
__________


----------------
Finished Group 4
----------------
Running runInParallelTest
.
Done runInParallelTest
__________


----------------
Finished Group 6
----------------
Running runInParallelTest
.
Done runInParallelTest
__________


----------------
Finished Group 5
----------------
Running runInParallelTest
.
Done runInParallelTest
__________


----------------
Finished Group 7
----------------
Running runInParallelTest
.
Done runInParallelTest
__________

作業フォルダーで testZeros.m を作成します。このクラスには 4 つのテスト メソッドが含まれます。

classdef testZeros < matlab.unittest.TestCase
    properties (TestParameter)
        type = {'single','double','uint16'};
        outSize = struct('s2d',[3 3], 's3d',[2 5 4]);
    end
    
    methods (Test)
        function testClass(testCase, type, outSize)
            testCase.verifyClass(zeros(outSize,type), type);
        end
        
        function testSize(testCase, outSize)
            testCase.verifySize(zeros(outSize), outSize);
        end
        
        function testDefaultClass(testCase)
            testCase.verifyClass(zeros, 'double');
        end
        function testDefaultSize(testCase)
            testCase.verifySize(zeros, [1 1]);
        end
        
        function testDefaultValue(testCase)
            testCase.verifyEqual(zeros,0);
        end
    end
end

テスト スイート全体では 11 のテスト要素があります。testClass メソッドから 6 要素、testSize メソッドから 2 要素、testDefaultClasstestDefaultSizetestDefaultValue メソッドから各 1 要素です。

コマンド プロンプトで、testSize メソッドのすべてのパラメーター化を実行します。

runtests('testZeros/testSize')
Running testZeros
..
Done testZeros
__________


ans = 

  1x2 TestResult array with properties:

    Name
    Passed
    Failed
    Incomplete
    Duration
    Details

Totals:
   2 Passed, 0 Failed, 0 Incomplete.
   0.05202 seconds testing time.

関数 runtests によって、testSize メソッドからパラメーター化された 2 つのテストが実行されました。あるいは、runtests('testZeros','ProcedureName','testSize') を使用してテスト プロシージャ名を指定することもできます。

outSize パラメーター プロパティを使用するテスト要素を実行します。

runtests('testZeros','ParameterProperty','outSize')
Running testZeros
........
Done testZeros
__________


ans = 

  1x8 TestResult array with properties:

    Name
    Passed
    Failed
    Incomplete
    Duration
    Details

Totals:
   8 Passed, 0 Failed, 0 Incomplete.
   0.067227 seconds testing time.

関数 runtestsoutSize パラメーター プロパティを使用する 8 つのテストを実行しました。testClass メソッドから 6 要素と testSize メソッドから 2 要素です。

single パラメーター名を使用するテスト要素を実行します。

runtests('testZeros','ParameterName','single')
Running testZeros
..
Done testZeros
__________


ans = 

  1x2 TestResult array with properties:

    Name
    Passed
    Failed
    Incomplete
    Duration
    Details

Totals:
   2 Passed, 0 Failed, 0 Incomplete.
   0.012866 seconds testing time.

関数 runtestsoutSize パラメーター名を使用する testClass メソッドから 2 つのテストを実行しました。

R2023b 以降

関数 runtests を使用して、テストを実行してコード カバレッジ結果を収集します。

現在のフォルダー内の quadraticSolver.m という名前のファイルで、関数 quadraticSolver を作成します。この関数は入力として 2 次多項式の係数をとり、多項式の根を返します。係数を非数値として指定した場合、関数はエラーをスローします。

function roots = quadraticSolver(a,b,c)
% quadraticSolver returns solutions to the
% quadratic equation a*x^2 + b*x + c = 0.

if ~isa(a,"numeric") || ~isa(b,"numeric") || ~isa(c,"numeric")
    error("quadraticSolver:InputMustBeNumeric", ...
        "Coefficients must be numeric.")
end

roots(1) = (-b + sqrt(b^2 - 4*a*c)) / (2*a);
roots(2) = (-b - sqrt(b^2 - 4*a*c)) / (2*a);

end

関数 quadraticSolver をテストするには、現在のフォルダー内の SolverTest.m という名前のファイルで SolverTest クラスを作成します。実数解、虚数解、非数値入力について関数をテストする 3 つの Test メソッドを定義します。

classdef SolverTest < matlab.unittest.TestCase
    methods (Test)
        function realSolution(testCase)
            actSolution = quadraticSolver(1,-3,2);
            expSolution = [2 1];
            testCase.verifyEqual(actSolution,expSolution)
        end
        function imaginarySolution(testCase)
            actSolution = quadraticSolver(1,2,10);
            expSolution = [-1+3i -1-3i];
            testCase.verifyEqual(actSolution,expSolution)
        end
        function nonnumericInput(testCase)
            testCase.verifyError(@()quadraticSolver(1,"-3",2), ...
                "quadraticSolver:InputMustBeNumeric")
        end
    end
end

SolverTest クラス内のテストを実行するとともに、名前と値の引数 ReportCoverageFor を指定してコード カバレッジ解析も実行します。コード カバレッジ レポートの生成に加えてカバレッジ結果にプログラムによってアクセスするには、2 つの出力引数を指定して関数 runtests を呼び出します。テストの実行後、最初の出力にテスト結果が含まれ、2 番目の出力にカバレッジの結果が含まれています。

[testResults,coverageResults] = runtests("SolverTest", ...
    "ReportCoverageFor","quadraticSolver.m")
Running SolverTest
...
Done SolverTest
__________

MATLAB code coverage report has been saved to:
 C:\Temp\tpf83a0edb_55fb_4039_84f8_230a01d5f591\index.html

testResults = 

  1×3 TestResult array with properties:

    Name
    Passed
    Failed
    Incomplete
    Duration
    Details

Totals:
   3 Passed, 0 Failed, 0 Incomplete.
   1.8685 seconds testing time.


coverageResults = 

  Result with properties:

        Filename: "C:\work\quadraticSolver.m"
    CreationDate: 16-May-2023 15:11:20

Coverage summary (use generateHTMLReport to generate an HTML report):
   Function: 1/1 (100%)
   Statement: 4/4 (100%)

Use coverageSummary to retrieve information from the coverage results.

入力引数

すべて折りたたむ

テスト。string 配列、文字ベクトル、または文字ベクトルの cell 配列として指定します。この引数を使用してテスト内容を指定します。たとえば、テスト ファイル、テスト クラス、テスト ファイルを含むフォルダー、テスト クラスを含むパッケージ、テスト ファイルを含むプロジェクト フォルダーを指定できます。

例: runtests("myTestFile.m")

例: runtests(["myTestFile/test1" "myTestFile/test3"])

例: runtests("mypackage.MyTestClass")

例: runtests(pwd)

例: runtests({'mypackage.MyTestClass','myTestFile.m',pwd,'mypackage.subpackage'})

例: runtests("C:\projects\project1")

名前と値の引数

引数のオプションのペアを Name1=Value1,...,NameN=ValueN として指定します。ここで Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。

例: results = runtests(tests,Name="productA_*") は、"productA_" で始まる名前の Test 要素を実行します。

R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name を引用符で囲みます。

例: results = runtests(tests,"Name","productA_*") は、"productA_" で始まる名前の Test 要素を実行します。

テストの識別

すべて折りたたむ

サブフォルダー内のテストを実行するかどうか。数値または logical 0 (false) または 1 (true) として指定します。既定では、フレームワークは指定されたフォルダー内のテストを実行しますが、そのサブフォルダー内のテストは実行しません。

サブパッケージ内のテストを実行するかどうか。数値または logical 0 (false) または 1 (true) として指定します。既定では、フレームワークは指定されたパッケージ内のテストを実行しますが、そのサブパッケージ内のテストは実行しません。

参照プロジェクトのテストを含めるかどうか。数値または logical 0 (false) または 1 (true) として指定します。参照プロジェクトの詳細については、大規模なプロジェクトのコンポーネント化を参照してください。

関数で処理するフォルダーまたはパッケージ内の無効なテスト ファイルに対して実行するアクション。"warn" または "error" として指定します。

  • "warn" — 関数はフォルダーまたはパッケージ内の無効なテスト ファイルのそれぞれについて警告を発行し、有効なファイルのテストを実行します。

  • "error" — 関数はフォルダーまたはパッケージ内で無効なテスト ファイルを見つけるとエラーをスローします。

無効なテスト ファイルは、フレームワークで実行できないテスト ファイルです。たとえば、構文エラーを含むテスト ファイル、ローカル関数が欠落した関数ベースのテスト ファイル、未定義のパラメーター化プロパティが渡された Test メソッドを含むファイルなどが含まれます。

テストのフィルター処理

すべて折りたたむ

テスト ファイルを含むベース フォルダーの名前。string 配列、文字ベクトル、または文字ベクトルの cell 配列として指定します。この引数はテスト スイートをフィルター処理します。テスト フレームワークがフィルター処理されたスイートにテストを含めるためには、Test 要素が BaseFolder によって指定されたベース フォルダーの 1 つに含まれていなければなりません。Test 要素がいずれもベース フォルダーと一致しない場合、空のテスト スイートが返されます。ワイルドカード文字 (*) を使用すると任意の数の文字と一致します。疑問符 (?) を使用すると単一の文字と一致します。

パッケージで定義したテスト ファイルでは、ベース フォルダーは最上位パッケージ フォルダーの親です。

ソース コードが含まれているファイルおよびフォルダーの名前。string ベクトル、文字ベクトル、または文字ベクトルの cell ベクトルとして指定します。この引数はテスト スイートをフィルター処理します。テスト フレームワークがフィルター処理したスイートにテストを含めるには、テストを定義しているファイルが、指定したソース コードに依存している必要があります。テスト ファイルのいずれもソース コードに依存していない場合は、空のテスト スイートが返されます。

指定する値は、拡張子が .m.p.mlx.mlapp.mat、または .slx である 1 つ以上の既存のファイルを表している必要があります。サポートされていない拡張子をもつファイル名を明示的に指定することはできません。フォルダー名を指定した場合、フレームワークは、そのフォルダー内のサポートされるファイルのパスを抽出します。

DependsOn を使用するには、MATLAB® Test™ のライセンスが必要です。ソース コードの依存関係によるテストの選択の詳細については、matlabtest.selectors.DependsOn (MATLAB Test) を参照してください。

例: DependsOn=["myFile.m" "myFolder"]

例: DependsOn=["folderA" "C:\work\folderB"]

テストの名前。string 配列、文字ベクトル、または文字ベクトルの cell 配列として指定します。この引数はテスト スイートをフィルター処理します。テスト フレームワークがフィルター処理されたスイートにテストを含めるためには、Test 要素の Name プロパティが Name によって指定された名前の 1 つと一致しなければなりません。Test 要素がいずれも一致する名前をもたない場合、空のテスト スイートが返されます。ワイルドカード文字 (*) を使用すると任意の数の文字と一致します。疑問符 (?) を使用すると単一の文字と一致します。

特定のテスト ファイルにおいて、テストの名前はテスト内容のうち実行可能な最小部分を一意に識別します。テストの名前には、パッケージ名、ファイル名 (拡張子は除く)、プロシージャ名、およびパラメーター化に関する情報が含まれます。

テストで使用されるパラメーターを定義するテスト クラス プロパティの名前。string 配列、文字ベクトル、または文字ベクトルの cell 配列として指定します。この引数はテスト スイートをフィルター処理します。テスト フレームワークがフィルター処理されたスイートにテストを含めるためには、Test 要素の Parameterization プロパティに ParameterProperty で指定されたプロパティ名が少なくとも 1 つ含まれていなければなりません。Test 要素がいずれも一致するプロパティ名をもたない場合、空のテスト スイートが返されます。ワイルドカード文字 (*) を使用すると任意の数の文字と一致します。疑問符 (?) を使用すると単一の文字と一致します。

テストで使用されるパラメーターの名前。string 配列、文字ベクトル、または文字ベクトルの cell 配列として指定します。MATLAB は、パラメーターを定義するテスト クラス プロパティに基づいてパラメーター名を生成します。

  • プロパティ値が cell 配列である場合、MATLAB は、cell 配列の要素の値、型、および次元を考慮して、それらの要素からパラメーター名を生成します。

  • プロパティ値が構造体である場合、MATLAB はパラメーター名を構造体フィールドから生成します。

引数 ParameterName はテスト スイートをフィルター処理します。テスト フレームワークがフィルター処理されたスイートにテストを含めるためには、Test 要素の Parameterization プロパティに ParameterName によって指定されたパラメーター名が少なくとも 1 つ含まれていなければなりません。Test 要素がいずれも一致するパラメーター名をもたない場合、空のテスト スイートが返されます。ワイルドカード文字 (*) を使用すると任意の数の文字と一致します。疑問符 (?) を使用すると単一の文字と一致します。

テスト プロシージャの名前。string 配列、文字ベクトルまたは文字ベクトルの cell 配列として指定します。この引数はテスト スイートをフィルター処理します。テスト フレームワークがフィルター処理されたスイートにテストを含めるためには、Test 要素の ProcedureName プロパティが ProcedureName によって指定されたプロシージャ名の 1 つと一致しなければなりません。Test 要素がいずれも一致するプロシージャ名をもたない場合、空のテスト スイートが返されます。ワイルドカード文字 (*) を使用すると任意の数の文字と一致します。疑問符 (?) を使用すると単一の文字と一致します。

クラスベースのテストでは、テスト プロシージャの名前はテストを含む Test メソッドの名前です。関数ベースのテストでは、テストを含むローカル関数の名前です。スクリプトベースのテストでは、テスト セクション タイトルから生成された名前です。テスト スイート要素の名前とは異なり、テスト プロシージャの名前にパッケージ名、ファイル名、パラメーター化に関する情報は含まれません。

テスト クラスの派生元であるクラスの名前。string 配列、文字ベクトル、または文字ベクトルの cell 配列として指定します。この引数はテスト スイートをフィルター処理します。テスト フレームワークがフィルター処理されたスイートにテストを含めるためには、Test 要素の TestClass プロパティが Superclass によって指定されたクラスの 1 つから派生するテスト クラスを指していなければなりません。Test 要素がいずれもクラスに一致しない場合、空のテスト スイートが返されます。

テストで使用されるタグの名前。string 配列、文字ベクトル、または文字ベクトルの cell 配列として指定します。この引数はテスト スイートをフィルター処理します。テスト フレームワークがフィルター処理されたスイートにテストを含めるためには、Test 要素の Tags プロパティに Tag によって指定されたタグ名が少なくとも 1 つ含まれていなければなりません。Test 要素がいずれも一致するタグ名をもたない場合、空のテスト スイートが返されます。ワイルドカード文字 (*) を使用すると任意の数の文字と一致します。疑問符 (?) を使用すると単一の文字と一致します。

テスト実行のカスタマイズ

すべて折りたたむ

テストの実行時に厳密なチェックを適用するかどうか。数値または logical 0 (false) または 1 (true) として指定します。たとえば、テストで警告が発行されると、フレームワークで検定エラーが生成されます。

テストを並列実行するかどうか。数値または logical 0 (false) または 1 (true) として指定します。

既定では runtests はテストを逐次実行します。UseParalleltrue として指定すると、次の条件が満たされている場合、runtests はテスト スイートをグループに分けて各グループを並列実行します。

  • Parallel Computing Toolbox がインストールされている。

  • 開いている並列プールが存在するか、[並列基本設定] でプールの自動作成が有効にされている。

そうでない場合、runtestsUseParallel の値に関係なくテストを逐次的に実行します。

テストの並列実行は他のオプションと互換性がない場合があります。たとえば、UseParallelDebug の両方が true として指定された場合、テストは逐次発生します。テストを並列実行する場合、テスト フレームワークによって、グループの順序と数、あるいは各グループに含められるテストが異なることがあります。

テストの実行時にデバッグ機能を適用するかどうか。数値または logical 0 (false) または 1 (true) として指定します。たとえば、テストの失敗が発生した場合、フレームワークはテストの実行を一時停止し、デバッグ モードになります。

イベント詳細の表示レベル。0 ~ 4 の整数値、または matlab.automation.Verbosity 列挙オブジェクトとして指定します。整数値は matlab.automation.Verbosity 列挙のメンバーに対応します。

関数 runtests は、失敗し、ログが作成されているイベントを OutputDetail で指定された詳細情報とともに表示します。既定では、runtests は失敗したイベントとログが作成されたイベントを matlab.automation.Verbosity.Detailed レベル (レベル 3) で表示し、テスト実行の進行状況を matlab.automation.Verbosity.Concise レベル (レベル 2) で表示します。

数値表現列挙型メンバー名詳細レベルの説明
0None

情報なし

1Terse

最小限の情報

2Concise

中程度の情報量

3Detailed

ある程度の補足的な情報

4Verbose

多くの補足的な情報

テスト実行用に含まれる診断ログの最大詳細レベル。0 ~ 4 の整数値、または matlab.automation.Verbosity 列挙オブジェクトとして指定します。関数 runtests は、このレベル以下でログが作成された診断情報を含めます。整数値は matlab.automation.Verbosity 列挙のメンバーに対応します。

既定では、runtestsmatlab.automation.Verbosity.Terse レベル (レベル 1) でログが作成された診断情報を含めます。診断ログを除外するには、LoggingLevelVerbosity.None (レベル 0) に指定します。

診断ログとは、log (TestCase) メソッドまたは log (Fixture) メソッドの呼び出しによってテスト フレームワークに送る診断です。

数値表現列挙型メンバー名詳細レベルの説明
0None

情報なし

1Terse

最小限の情報

2Concise

中程度の情報量

3Detailed

ある程度の補足的な情報

4Verbose

多くの補足的な情報

アーティファクトの生成

すべて折りたたむ

コード カバレッジ解析用のソース ファイルおよびフォルダーの名前。string 配列、文字ベクトル、または文字ベクトルの cell 配列として指定します。相対パスを指定する場合、そのパスは現在のフォルダー内になければなりません。それ以外の場合、絶対パスを指定する必要があります。フォルダーのパス、または拡張子が .m.mlx、または .mlapp のファイルのパスを指定できます。

この引数を指定した場合、関数はテストを実行し、指定したソース コードの HTML コード カバレッジ レポートを生成します。このレポートでは、テストによって実行されたソース コードの部分が示されます。ReportCoverageFor に加えて coverageResults 出力引数 (R2023b 以降)を指定した場合、関数は HTML コード カバレッジ レポートを生成するだけでなく、カバレッジ結果へのプログラムによるアクセスも提供します。

例: "ReportCoverageFor",pwd

例: "ReportCoverageFor",["myFile.m" "myFolder"]

例: "ReportCoverageFor",["folderA" "C:\work\folderB"]

特定の検定メソッドによるテストで使用される MAT ファイルを作成するのか更新するのか。数値または logical 0 (false) または 1 (true) として指定します。GenerateBaselines を使用するには、Simulink® Test がインストールされていなければなりません。

この引数を true と指定すると、テストでは sltest.TestCase (Simulink Test) クラスのこれらの検定メソッドの 1 つを使用しなければなりません。

  • verifySignalsMatch (たとえば、testCase.verifySignalsMatch(actVal,"myBaseline.mat"))

  • assumeSignalsMatch

  • assertSignalsMatch

  • fatalAssertSignalsMatch

詳細については、Using MATLAB-Based Simulink Tests in the Test Manager (Simulink Test)を参照してください。

出力引数

すべて折りたたむ

テスト結果。matlab.unittest.TestResult オブジェクトの行ベクトルとして返されます。ベクトルの各要素は、実行されたテストの 1 つに関する情報を提供します。

R2023b 以降

カバレッジの結果。matlab.coverage.Result オブジェクトの列ベクトルとして返されます。ベクトルの各要素は、テストでカバーされたソース コード内のファイルの 1 つに関する情報を提供します。

ソース コードのコード カバレッジ解析の結果にプログラムによってアクセスするには、名前と値の引数 ReportCoverageFor とともにこの引数を使用します。

ヒント

  • 共有テスト フィクスチャをテストで使用し、関数 runtests への入力を string 配列または文字ベクトルの cell 配列で指定する場合、テスト フレームワークは、共有フィクスチャのセットアップと破棄の操作を減らすために配列を並べ替えます。結果として、テストは入力配列内の要素の順序とは異なる順序で実行される可能性があります。詳細については、sortByFixtures を参照してください。

  • リモート並列プール (MATLAB Parallel Server™ および Parallel Computing Toolbox が必要) でテストを実行すると、MATLAB はまずテストが含まれているローカル フォルダーをリモート ワーカーにコピーします。このステップに伴うオーバーヘッドを最小化するために、必ず、これらのフォルダーにはテストに関連したファイルのみが含まれているようにしてください。

拡張機能

バージョン履歴

R2013b で導入

すべて展開する