Main Content

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

matlab.unittest.TestSuite.fromName

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

単一のテスト名からテスト スイートを作成する

説明

suite = matlab.unittest.TestSuite.fromName(testName) は、指定されたテスト名から単一の Test オブジェクトで構成されるテスト スイートを作成します。

スカラーのテスト スイートを作成および実行する際には、testName で指定されているテスト クラス、関数、またはスクリプトはパス上に存在しなければなりません。

suite = matlab.unittest.TestSuite.fromName(testName,Name,Value) は、1 つ以上の名前と値の引数を使用してオプションを指定します。たとえば、suite = matlab.unittest.TestSuite.fromName(testName,"ExternalParameters",param) は指定した外部パラメーターを使用して、スカラーのテスト スイートを作成します。

入力引数

すべて展開する

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

testName 引数は、Test オブジェクトの Name プロパティに対応します。

名前と値の引数

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

例: suite = matlab.unittest.TestSuite.fromName(testName,ExternalParameters=param)

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

例: suite = matlab.unittest.TestSuite.fromName(testName,"ExternalParameters",param)

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

テストに必要なソース ファイルおよびフォルダーの名前。string ベクトル、文字ベクトル、または文字ベクトルの cell ベクトルとして指定します。この引数を使用する場合、テストを定義しているファイルが、指定したソース コードに依存している必要があります。そうでない場合、メソッドは空のテスト スイートを返します。

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

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

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

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

属性

Statictrue

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

すべて展開する

静的メソッド fromName を使用して、テスト名からスカラーのテスト スイートを作成します。

現在のフォルダー内のファイルに、関数 add5 を作成します。この関数は、数値入力を受け入れて 5 だけインクリメントします。非数値入力を指定して呼び出すと、関数はエラーをスローします。

function y = add5(x)
% add5 - Increment input by 5
if ~isa(x,"numeric")
    error("add5:InputMustBeNumeric","Input must be numeric.")
end
y = x + 5;
end

関数 add5 をテストするには、現在のフォルダー内の Add5Test.m という名前のファイルで Add5Test クラスを作成します。このクラスは、数値入力および非数値入力について関数をテストします。

classdef Add5Test < matlab.unittest.TestCase
    properties (TestParameter)
        type = {'double','single','int8','int32'};
    end

    methods (Test)
        function numericInput(testCase,type)
            actual = add5(cast(1,type));
            testCase.verifyClass(actual,type)
        end
        function nonnumericInput(testCase)
            testCase.verifyError(@() add5("0"),"add5:InputMustBeNumeric")
        end
    end
end

TestSuite クラスをインポートします。

import matlab.unittest.TestSuite

Add5Test クラスからテスト スイートを作成し、テスト名を表示します。

suite = testsuite("Add5Test");
disp({suite.Name}')
    {'Add5Test/numericInput(type=double)'}
    {'Add5Test/numericInput(type=single)'}
    {'Add5Test/numericInput(type=int8)'  }
    {'Add5Test/numericInput(type=int32)' }
    {'Add5Test/nonnumericInput'          }

nonnumericInput メソッドに対応しているテストの名前からテスト スイートを作成します。結果として得られたテスト スイートには単一の Test オブジェクトが含まれています。次に、テストを実行します。

suite1 = TestSuite.fromName("Add5Test/nonnumericInput");
result1 = run(suite1);
Running Add5Test
.
Done Add5Test
__________

パラメーター化されたテストの名前からスカラーのテスト スイートを作成し、テストを実行します。

suite2 = TestSuite.fromName("Add5Test/numericInput(type=single)");
result2 = run(suite2);
Running Add5Test
.
Done Add5Test
__________

バージョン履歴

R2014a で導入

すべて展開する