Main Content

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

matlab.unittest.TestSuite.fromProject

クラス: matlab.unittest.TestSuite
名前空間: matlab.unittest

プロジェクト内のテストからテスト スイートを作成する

説明

suite = matlab.unittest.TestSuite.fromProject(project) は、Test の分類ラベルが付けられた、指定されたプロジェクトに含まれるすべてのテスト ファイルから TestSuite 配列を作成します。project の入力は、読み込まれた matlab.project.Project オブジェクトかプロジェクトのルート フォルダーのいずれかとなります。このメソッドは再帰的なものではありません。指定されたプロジェクトのテストのみが含まれます。参照プロジェクトのテストを含めるには、名前と値の引数 IncludingReferencedProjectstrue として指定します。プロジェクトの詳細については、プロジェクトを参照してください。

suite = matlab.unittest.TestSuite.fromProject(project,selector) は、Test の分類ラベルが付けられ、selector を満たす、指定されたプロジェクトに含まれるすべてのテスト ファイルから TestSuite 配列を作成します。セレクターの詳細については、matlab.unittest.selectorsを参照してください。

suite = matlab.unittest.TestSuite.fromProject(___,Name,Value) は、Test の分類ラベルが付けられ、1 つ以上の名前と値の引数によって指定された条件を満たす、指定されたプロジェクトに含まれるすべてのテスト ファイルから TestSuite 配列を作成します。前述の任意の構文で、すべての引数の後に名前と値の引数を指定します。

入力引数

すべて展開する

テスト ファイルが含まれるプロジェクト。プロジェクトのルート フォルダーのパス、または開かれている Project オブジェクトとして指定します。テスト ファイルは、Test ラベルを追加することでテストとして分類された、プロジェクト内のファイルです。

例: 'C:\MyProjects\ThisProject'

データ型: char | string

TestSuite 配列要素のフィルター。matlab.unittest.selectors パッケージのクラスのインスタンスとして指定します。MATLAB® Test™ のライセンスがある場合、selectormatlabtest.selectors.DependsOn オブジェクトとして指定することもできます。

例: matlab.unittest.selectors.HasBaseFolder(fullfile(pwd,'MyTests','Feature1'))

名前と値の引数

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

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

TestSuite に参照プロジェクトのテストを含めるかどうかを示します。logical の true または false として指定します。既定では、fromProject は、入力で指定されたプロジェクトのテスト ファイルのみを含めます。IncludingReferencedProjectstrue の値を渡した場合、TestSuite 配列には、入力で指定されたプロジェクトと、親プロジェクトによって参照されるプロジェクトのテストが含まれます。参照プロジェクトの詳細については、大規模なプロジェクトのコンポーネント化を参照してください。

例: suite = matlab.unittest.TestSuite.fromProject(project,'IncludingReferencedProjects',true);

データ型: logical

テストで使用する外部パラメーター。matlab.unittest.parameters.Parameter オブジェクトの配列として指定します。この引数を使用して、パラメーター化されたテスト内の既存のパラメーターの代わりに外部パラメーターを指定します。詳細については、パラメーター化されたテストでの外部パラメーターの使用を参照してください。

テスト ファイルを含むベース フォルダーの名前。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 要素がいずれも一致するタグ名をもたない場合、空のテスト スイートが返されます。ワイルドカード文字 (*) を使用すると任意の数の文字と一致します。疑問符 (?) を使用すると単一の文字と一致します。

出力引数

すべて展開する

一連のテスト。matlab.unittest.Test 配列として返されます。

属性

Statictrue

メソッドの属性の詳細については、メソッドの属性を参照してください。

すべて展開する

Test ファイルとしてラベルが付けられたプロジェクト ファイルからテスト スイートを作成します。この例では、C:/projects/project1 のプロジェクト フォルダーに Test の分類ラベルが付けられたテスト ファイルが含まれていると仮定します。matlab.unittest.TestSuite.fromProject 静的メソッドを使用して、これらのテストを使用したテスト スイートを作成します。

project1 を開き、matlab.project.Project オブジェクトを fromProject に渡します。テスト スイートを実行し、結果を取得します。

import matlab.unittest.TestSuite
project = openProject('C:/projects/project1/');
suite = TestSuite.fromProject(project);
result = run(suite)

プロジェクトおよびすべての参照プロジェクト内で Test ファイルとしてラベルが付けられているプロジェクト ファイルからテスト スイートを作成します。

import matlab.unittest.TestSuite
project = openProject('C:/projects/project1/');
suite = TestSuite.fromProject(project,'IncludingReferencedProjects',true);
result = run(suite)

バージョン履歴

R2019a で導入

すべて展開する