このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
runtests
一連のテストの実行
説明
results = runtests
は、現在のフォルダーのすべてのテストを実行し、結果を TestResult
配列として返します。
results = runtests(___,
は、1 つ以上の名前と値の引数で指定された追加オプションを使用して一連のテストを実行します。 Name,Value
)
例
作業フォルダー内のテストの実行
現在の作業フォルダーに 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)
'IncludeSubfolders'
を true に設定して、tmpTest
の上のフォルダーからテストを実行します。
results = runtests(pwd,'IncludeSubfolders',true);
Running runtestsExampleTest . Done runtestsExampleTest __________ Running runtestsExampleSubFolderTest . Done runtestsExampleSubFolderTest __________
runtests
で現在のフォルダーとサブフォルダー内のテストが実行されました。
関数 runtests
の 'IncludeSubfolders'
プロパティを指定しない場合、サブフォルダー内のテストは実行されません。
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')
テストの並列実行
以下に示すテスト ファイルを作成し、MATLAB® パス上に 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','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 要素、testDefaultClass
、testDefaultSize
、testDefaultValue
メソッドから各 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.038352 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.035729 seconds testing time.
関数 runtests
は outSize
パラメーター プロパティを使用する 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.007487 seconds testing time.
関数 runtests
は outSize
パラメーター名を使用する testClass
メソッドから 2 つのテストを実行しました。
入力引数
tests
— テスト
string 配列 | 文字ベクトル | 文字ベクトルの cell 配列
テスト。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
は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。
例: runtests(tests,Name="productA_*")
は、"productA_"
で始まる名前のテスト要素を実行します。
R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name
を引用符で囲みます。
例: runtests(tests,"Name","productA_*")
は、"productA_"
で始まる名前のテスト要素を実行します。
IncludeSubfolders
— サブフォルダー内のテストを実行するかどうかを示すインジケーター
false
(既定値) | true
| 0
| 1
サブフォルダー内のテストを実行するかどうかを示すインジケーター。false
または true
(0
または 1
) として指定します。既定では、フレームワークは指定されたフォルダー内のテストを実行しますが、そのサブフォルダー内のテストは実行しません。
IncludeSubpackages
— サブパッケージ内のテストを実行するかどうかを示すインジケーター
false
(既定値) | true
| 0
| 1
サブパッケージ内のテストを実行するかどうかを示すインジケーター。false
または true
(0
または 1
) として指定します。既定では、フレームワークは指定されたパッケージ内のテストを実行しますが、そのサブパッケージ内のテストは実行しません。
IncludeReferencedProjects
— 参照プロジェクトのテストを含めるかどうかのインジケーター
false
(既定値) | true
| 0
| 1
参照プロジェクトのテストを含めるかどうかのインジケーター。false
または true
として指定します。参照プロジェクトの詳細については、大規模なプロジェクトのコンポーネント化を参照してください。
InvalidFileFoundAction
— 無効なテスト ファイルに対して実行するアクション
"warn"
(既定値) | "error"
関数で処理するフォルダーまたはパッケージ内の無効なテスト ファイルに対して実行するアクション。"warn"
または "error"
として指定します。
"warn"
— 関数はフォルダーまたはパッケージ内の無効なテスト ファイルのそれぞれについて警告を発行し、有効なファイルのテストを実行します。"error"
— 関数はフォルダーまたはパッケージ内で無効なテスト ファイルを見つけるとエラーをスローします。
無効なテスト ファイルは、フレームワークで実行できないテスト ファイルです。たとえば、構文エラーを含むテスト ファイル、ローカル関数が欠落した関数ベースのテスト ファイル、未定義のパラメーター化プロパティが渡された Test
メソッドを含むファイルなどが含まれます。
BaseFolder
— ベース フォルダー名
string 配列 | 文字ベクトル | 文字ベクトルの cell 配列
テスト ファイルを含むベース フォルダーの名前。string 配列、文字ベクトル、または文字ベクトルの cell 配列として指定します。この引数はテスト スイートをフィルター処理します。テスト フレームワークがフィルター処理されたスイートにテストを含めるためには、Test
要素が BaseFolder
によって指定されたベース フォルダーの 1 つに含まれていなければなりません。Test
要素がいずれもベース フォルダーと一致しない場合、空のテスト スイートが返されます。ワイルドカード文字 (*
) を使用すると任意の数の文字と一致します。疑問符 (?
) を使用すると単一の文字と一致します。
パッケージで定義したテスト ファイルでは、ベース フォルダーは最上位パッケージ フォルダーの親です。
DependsOn
— ソース ファイルおよびフォルダーの名前
string ベクトル | 文字ベクトル | 文字ベクトルの cell ベクトル
ソース コードが含まれているファイルおよびフォルダーの名前。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"]
Name
— テストの名前
string 配列 | 文字ベクトル | 文字ベクトルの cell 配列
テストの名前。string 配列、文字ベクトル、または文字ベクトルの cell 配列として指定します。この引数はテスト スイートをフィルター処理します。テスト フレームワークがフィルター処理されたスイートにテストを含めるためには、Test
要素の Name
プロパティが Name
によって指定された名前の 1 つと一致しなければなりません。Test
要素がいずれも一致する名前をもたない場合、空のテスト スイートが返されます。ワイルドカード文字 (*
) を使用すると任意の数の文字と一致します。疑問符 (?
) を使用すると単一の文字と一致します。
特定のテスト ファイルにおいて、テストの名前はテスト内容のうち実行可能な最小部分を一意に識別します。テストの名前には、パッケージ名、ファイル名 (拡張子は除く)、プロシージャ名、およびパラメーター化に関する情報が含まれます。
ParameterProperty
— パラメーター化プロパティ名
string 配列 | 文字ベクトル | 文字ベクトルの cell 配列
テストで使用されるパラメーターを定義するテスト クラス プロパティの名前。string 配列、文字ベクトル、または文字ベクトルの cell 配列として指定します。この引数はテスト スイートをフィルター処理します。テスト フレームワークがフィルター処理されたスイートにテストを含めるためには、Test
要素の Parameterization
プロパティに ParameterProperty
で指定されたプロパティ名が少なくとも 1 つ含まれていなければなりません。Test
要素がいずれも一致するプロパティ名をもたない場合、空のテスト スイートが返されます。ワイルドカード文字 (*
) を使用すると任意の数の文字と一致します。疑問符 (?
) を使用すると単一の文字と一致します。
ParameterName
— パラメーター名
string 配列 | 文字ベクトル | 文字ベクトルの cell 配列
テストで使用されるパラメーターの名前。string 配列、文字ベクトル、または文字ベクトルの cell 配列として指定します。MATLAB は、パラメーターを定義するテスト クラス プロパティに基づいてパラメーター名を生成します。
プロパティ値が cell 配列である場合、MATLAB は、cell 配列の要素の値、型、および次元を考慮して、それらの要素からパラメーター名を生成します。
プロパティ値が構造体である場合、MATLAB はパラメーター名を構造体フィールドから生成します。
引数 ParameterName
はテスト スイートをフィルター処理します。テスト フレームワークがフィルター処理されたスイートにテストを含めるためには、Test
要素の Parameterization
プロパティに ParameterName
によって指定されたパラメーター名が少なくとも 1 つ含まれていなければなりません。Test
要素がいずれも一致するパラメーター名をもたない場合、空のテスト スイートが返されます。ワイルドカード文字 (*
) を使用すると任意の数の文字と一致します。疑問符 (?
) を使用すると単一の文字と一致します。
ProcedureName
— テスト プロシージャの名前
string 配列 | 文字ベクトル | 文字ベクトルの cell 配列
テスト プロシージャの名前。string 配列、文字ベクトルまたは文字ベクトルの cell 配列として指定します。この引数はテスト スイートをフィルター処理します。テスト フレームワークがフィルター処理されたスイートにテストを含めるためには、Test
要素の ProcedureName
プロパティが ProcedureName
によって指定されたプロシージャ名の 1 つと一致しなければなりません。Test
要素がいずれも一致するプロシージャ名をもたない場合、空のテスト スイートが返されます。ワイルドカード文字 (*
) を使用すると任意の数の文字と一致します。疑問符 (?
) を使用すると単一の文字と一致します。
クラスベースのテストでは、テスト プロシージャの名前はテストを含む Test
メソッドの名前です。関数ベースのテストでは、テストを含むローカル関数の名前です。スクリプトベースのテストでは、テスト セクション タイトルから生成された名前です。テスト スイート要素の名前とは異なり、テスト プロシージャの名前にパッケージ名、ファイル名、パラメーター化に関する情報は含まれません。
Superclass
— テスト クラスの派生元であるクラスの名前
string 配列 | 文字ベクトル | 文字ベクトルの cell 配列
テスト クラスの派生元であるクラスの名前。string 配列、文字ベクトル、または文字ベクトルの cell 配列として指定します。この引数はテスト スイートをフィルター処理します。テスト フレームワークがフィルター処理されたスイートにテストを含めるためには、Test
要素の TestClass
プロパティが Superclass
によって指定されたクラスの 1 つから派生するテスト クラスを指していなければなりません。Test
要素がいずれもクラスに一致しない場合、空のテスト スイートが返されます。
Tag
— タグの名前
string 配列 | 文字ベクトル | 文字ベクトルの cell 配列
テストで使用されるタグの名前。string 配列、文字ベクトル、または文字ベクトルの cell 配列として指定します。この引数はテスト スイートをフィルター処理します。テスト フレームワークがフィルター処理されたスイートにテストを含めるためには、Test
要素の Tags
プロパティに Tag
によって指定されたタグ名が少なくとも 1 つ含まれていなければなりません。Test
要素がいずれも一致するタグ名をもたない場合、空のテスト スイートが返されます。ワイルドカード文字 (*
) を使用すると任意の数の文字と一致します。疑問符 (?
) を使用すると単一の文字と一致します。
Strict
— 厳密なチェックを適用するかどうかを示す指標
false
(既定値) | true
| 0
| 1
テストの実行時に厳密なチェックを適用するかどうかを示すインジケーター。false
または true
(0
または 1
) として指定します。たとえば、テストで警告が発行されると、フレームワークで検定エラーが生成されます。
UseParallel
— テストの並列実行のインジケーター
false
(既定値) | true
| 0
| 1
テストを並列実行するかどうかを示すインジケーター。false
または true
(0
または 1
) として指定します。
既定では runtests
がテストを逐次実行します。UseParallel
を true
に設定すると、runtests
はテスト スイートをグループに分け、次の条件が満たされる場合に各グループを並列実行します。
Parallel Computing Toolbox がインストールされている。
開いている並列プールが存在するか、[並列基本設定] でプールの自動作成が有効にされている。
そうでない場合、runtests
は UseParallel
の設定値に関係なくテストを逐次的に実行します。
テストの並列実行は他のオプションと互換性がない場合があります。たとえば、UseParallel
と Debug
の両方が true
に設定された場合、テストは逐次発生します。並列実行の場合、テスト フレームワークによって、グループの順序と数、あるいは各グループに含めるテストが異なる場合があります。
Debug
— デバッグ機能を適用するかどうかを示す指標
false
(既定値) | true
| 0
| 1
テストの実行時にデバッグ機能を適用するかどうかを示すインジケーター。false
または true
(0
または 1
) として指定します。たとえば、テストの失敗が検出された場合、フレームワークはテストの実行を中止し、デバッグ モードになります。
OutputDetail
— 表示するイベントの詳細レベル
0 | 1 | 2 | 3 | 4 | matlab.automation.Verbosity
列挙
イベント詳細の表示レベル。0 ~ 4 の整数値、または matlab.automation.Verbosity
列挙オブジェクトとして指定します。整数値は matlab.automation.Verbosity
列挙のメンバーに対応します。
関数 runtests
は、失敗し、ログが作成されているイベントを OutputDetail
で指定された詳細情報とともに表示します。既定では、runtests
は失敗したイベントとログが作成されたイベントを matlab.automation.Verbosity.Detailed
レベル (レベル 3) で表示し、テスト実行の進行状況を matlab.automation.Verbosity.Concise
レベル (レベル 2) で表示します。
数値表現 | 列挙型メンバー名 | 詳細レベルの説明 |
---|---|---|
0 | None | 情報なし |
1 | Terse | 最小限の情報 |
2 | Concise | 中程度の情報量 |
3 | Detailed | ある程度の補足的な情報 |
4 | Verbose | 多くの補足的な情報 |
LoggingLevel
— 診断ログの最大詳細レベル
1 (既定値) | 0 | 2 | 3 | 4 | matlab.automation.Verbosity
列挙
テスト実行用に含まれる診断ログの最大詳細レベル。0 ~ 4 の整数値、または matlab.automation.Verbosity
列挙オブジェクトとして指定します。関数 runtests
は、このレベル以下でログが作成された診断情報を含めます。整数値は matlab.automation.Verbosity
列挙のメンバーに対応します。
既定では、runtests
は matlab.automation.Verbosity.Terse
レベル (レベル 1) でログが作成された診断情報を含めます。診断ログを除外するには、LoggingLevel
を Verbosity.None
(レベル 0) に指定します。
診断ログとは、log (TestCase)
メソッドまたは log (Fixture)
メソッドの呼び出しによってテスト フレームワークに送る診断です。
数値表現 | 列挙型メンバー名 | 詳細レベルの説明 |
---|---|---|
0 | None | 情報なし |
1 | Terse | 最小限の情報 |
2 | Concise | 中程度の情報量 |
3 | Detailed | ある程度の補足的な情報 |
4 | Verbose | 多くの補足的な情報 |
ReportCoverageFor
— コード カバレッジ レポートに含めるソース コードへのパス
ファイルまたはフォルダーへのパス
コード カバレッジ レポートに含めるソース コードへのパス。string 配列、文字ベクトル、または文字ベクトルの cell 配列として指定します。このオプションを使用した場合、runtests
は指定されたテストを実行し、指定されたコード ファイルについてコード カバレッジ レポートを生成します。このレポートでは、テストによって実行されたソース コードの部分が示されます。
ソース コードへのパスは、1 つ以上のフォルダーまたはファイル (拡張子が .m
、.mlx
または .mlapp
) への絶対または相対パスとすることができます。
例: runtests(tests,'ReportCoverageFor','mySource.m')
データ型: char
| string
| cell
GenerateBaselines
— ベースライン データの作成または更新のインジケーター
false
(既定値) | true
| 0
| 1
特定の検定メソッドによるテストで使用される MAT ファイルを作成または更新するかどうかを示すインジケーター。false
または true
(0
または 1
) として指定します。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)を参照してください。
ヒント
共有テスト フィクスチャをテストで使用し、関数
runtests
への入力を string 配列または文字ベクトルの cell 配列で指定する場合、テスト フレームワークは、共有フィクスチャのセットアップと破棄の操作を減らすために配列を並べ替えます。結果として、テストは入力配列内の要素の順序とは異なる順序で実行される可能性があります。詳細については、sortByFixtures
を参照してください。リモート並列プール (MATLAB Parallel Server™ および Parallel Computing Toolbox が必要) でテストを実行すると、MATLAB はまずテストが含まれているローカル フォルダーをリモート ワーカーにコピーします。このステップに伴うオーバーヘッドを最小化するために、必ず、これらのフォルダーにはテストに関連したファイルのみが含まれているようにしてください。
拡張機能
自動並列サポート
Parallel Computing Toolbox™ を使用して自動的に並列計算を実行することで、コードを高速化します。
テストを並列実行するには、名前と値の引数 UseParallel
を true
として指定します。
並列計算の一般情報の詳細については、自動並列サポートを使用した MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2013b で導入R2023a: ソース コードの依存関係によるテスト スイートのフィルター処理
指定したソース コードへのテスト ファイルの依存関係でテスト スイートをフィルター処理できます。名前と値の引数 DependsOn
(MATLAB Test が必要) を使用してソース ファイルおよびフォルダーを指定します。
R2023a: 要件セットを検証するテストの実行
Requirements Toolbox™ と MATLAB Test がインストールされている場合、関数 runtests
を使用して、要件セットを検証するテストを実行できます。テストを実行するには、1 つ以上の要件セット ファイルを string スカラーまたは string ベクトルとして指定します。たとえば、results = runtests("myRequirementSet.slreqx")
は、指定された要件セットを検証するテストを実行します。
R2022b: 無効なテスト ファイルに対して実行するアクションの指定
フォルダーまたはパッケージ内で無効なテスト ファイルが見つかった場合にテスト フレームワークで警告を発行するかエラーをスローするかを指定するには、名前と値の引数 InvalidFileFoundAction
を使用します。
R2022b: cell 配列からよりわかりやすいパラメーター名を生成
空でない cell 配列をパラメーター化プロパティに代入すると、テスト フレームワークは cell 配列の要素の値、型、および次元を考慮して、それらの要素からパラメーター名を生成します。以前のリリースでは、プロパティ値が文字ベクトルの cell 配列である場合、フレームワークは cell 配列の値からパラメーター名を生成します。それ以外の場合、フレームワークはパラメーター名を value1
、value2
、…、valueN
として指定します。
コードでパラメーター名を使用してテスト スイートを作成したり、フィルター処理したりする場合は、古いパラメーター名をわかりやすいパラメーター名に置き換えてください。たとえば、suite = testsuite(pwd,"ParameterName","value1")
の value1
をわかりやすいパラメーター名に置き換えて更新します。
R2022a: IncludeSubfolders
はフォルダーとパッケージを同様に処理
名前と値の引数 IncludeSubfolders
はフォルダーとパッケージを同様に扱います。たとえば、runtests(pwd,IncludeSubfolders=true)
は、現在のフォルダーおよび、パッケージ フォルダーを含めた任意のサブフォルダー内にあるすべてのテストを実行します。従来のリリースでは、IncludeSubfolders
はパッケージフォルダーを無視します。
R2021b: runtests
はテスト プロシージャを定義しないプロジェクト ファイルを無視
関数 runtests
は、テスト プロシージャを定義しない MATLAB プロジェクト内のファイルをすべて無視します。たとえば、抽象 TestCase
クラス定義ファイルに Test
の分類ラベルが付けられている場合、それは無視されます。以前のリリースでは、具象テスト ファイル以外のファイルに Test
の分類が使用されているプロジェクトで runtests
が呼び出されると、MATLAB でエラーが発生します。
R2021b: プロジェクト内のテストは Java 仮想マシン (JVM) ソフトウェアを使用しないと実行できない
MATLAB が Java® 仮想マシン (JVM™) ソフトウェアなしで実行されている場合、runtests
は MATLAB プロジェクト内のテストを実行できません。これは、JVM ソフトウェアを使用しないとプロジェクトを開けないからです。以前のリリースでは、JVM ソフトウェアを使用せずに MATLAB を実行した場合、runtests
はプロジェクト内のテスト ファイルからスイートを作成してスイートを実行します。
R2021a: スレッド ベースのプールでのテストの並列実行
スレッド ワーカーの並列プールを起動してから関数 runtests
の呼び出しで名前と値の引数 UseParallel
を指定して、スレッドベースのプール (Parallel Computing Toolbox が必要) でテストを実行できます。
スレッドベースのプールで runtests
を使用して実行するテストには、次の制限が適用されます。
テストとソース コードはスレッド ワーカーでサポートされる機能のみを使用しなければなりません。スレッドベース環境の制限の詳細については、スレッドベースの環境またはプロセスベースの環境の選択 (Parallel Computing Toolbox)を参照してください。
テスト内容を定義するフォルダーは MATLAB 検索パス上になければなりません。
テスト名は、クラスまたは関数の名前を使用してファイル拡張子なしで指定する必要があります。
テスト アーティファクトの保存はスレッドベースのプールでサポートされません。
Simulink はスレッドベースの環境でサポートされません。したがって、Simulink Test を使用して作成されたテストはスレッドベースのプールで実行できません。
R2020b: クラスターおよびクラウドでのテストの並列実行
クラスターおよびクラウド (MATLAB Parallel Server および Parallel Computing Toolbox が必要) でテストを並列実行できます。リモート並列プールでテストを実行するには、名前と値の引数 UseParallel
を指定して関数 runtests
を呼び出します。
R2020b: スタンドアロン アプリケーションでのテストの並列実行
テストの並列実行をサポートするスタンドアロン アプリケーションを作成できます (MATLAB Compiler™ および Parallel Computing Toolbox が必要)。MATLAB Compiler が、テストの並列実行に必要なすべてのコンポーネントの位置を特定してパッケージ化できるようにするために、命令 %#function parallel.Pool
をコードで使用します。詳細については、MATLAB ユニット テストのコンパイルを参照してください。
R2020b: ベースライン データの作成または更新
特定の検定メソッドによるテストで使用される MAT ファイルを作成または更新するには、名前と値の引数 GenerateBaselines
を使用します。GenerateBaselines
を使用するには、Simulink Test がインストールされていなければなりません。
R2019a: MATLAB プロジェクト内のテストの実行
現在のフォルダーがプロジェクトのルート フォルダーであるか、プロジェクトのルート フォルダーへのパスを関数 runtests
に渡した場合、関数は、Test
の分類ラベルが付けられた、指定されたプロジェクトに含まれるすべてのテスト ファイルを実行します。
R2019a: 参照プロジェクトのテストの実行
参照プロジェクトのテストを実行するには、名前と値の引数 IncludeReferencedProjects
を使用します。
R2019a: HTML コード カバレッジ レポートの生成
コード カバレッジ レポートに含めるソース コードを指定するには、名前と値の引数 ReportCoverageFor
を使用します。
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)