Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

matlab.unittest.TestSuite.fromName

クラス: matlab.unittest.TestSuite
パッケージ: matlab.unittest

テスト要素名からの Test オブジェクトの作成

説明

testObj = matlab.unittest.TestSuite.fromName(name) は、スカラー Test オブジェクトの testObj を要素名 name から作成します。

testObj = matlab.unittest.TestSuite.fromName(name,'ExternalParameters',ExternalParameters) によって、スイートでは、パラメーター化されたテスト内で定義される対応するパラメーターの代わりに、指定された外部パラメーターを使用できます。

入力引数

name

matlab.unittest.Test 要素の名前。string 配列、文字ベクトルまたは文字ベクトルの cell 配列として指定します。クラスベースのテストの場合、name には TestCase クラスおよびテスト メソッドの名前に加え、パラメーター化情報も含まれます。関数ベースのテストの場合、name にはメイン関数およびローカル テスト関数が含まれます。スクリプトベースのテストの場合、name にはスクリプトの名前およびテスト セクションまたはセルのタイトルが含まれます。セクションにタイトルがない場合、MATLAB® によって割り当てられます。name 引数は、Test オブジェクトの Name プロパティに対応します。

ExternalParameters

パラメーター化されたテストで使用するための matlab.unittest.parameters.Parameter インスタンスの配列。フレームワークでは、パラメーター化されたテスト内で定義される対応するパラメーターの代わりに、これらの外部パラメーターが使用されます。詳細については、パラメーター化されたテストでの外部パラメーターの使用を参照してください。

属性

Statictrue

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

すべて展開する

テストする関数 add5 を MATLAB パス上のファイルに作成します。

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

次の TestCase クラスを含むファイル Add5Test.m を MATLAB パス上に作成します。

classdef Add5Test < matlab.unittest.TestCase
    properties (TestParameter)
        Type = {'double','single','int8','int32'};
    end
    
    methods (Test)
        function testNonNumericInput(testCase)
            testCase.verifyError(@()add5('0'),'add5:InputMustBeNumeric')
        end
        function testResultType(testCase, Type)
            actOutput = add5(cast(1,Type));
            testCase.verifyClass(actOutput, Type)
        end
        
    end
end

コマンド プロンプトで、Add5Test クラスの testNonNumericInput メソッド用にテスト オブジェクトを作成します。

import matlab.unittest.TestSuite
testObj = TestSuite.fromName('Add5Test/testNonNumericInput');

テストを実行します。

result = run(testObj);
Running Add5Test
.
Done Add5Test
__________

Add5Test クラスの testResultType メソッド用に、パラメーター化されたテストを作成して実行します。

testObj = TestSuite.fromName('Add5Test/testResultType(Type=single)');
result = run(testObj);
Running Add5Test
.
Done Add5Test
__________

ヒント

  • TestSuite の作成中または実行中には、name で示されるテスト クラス、関数またはスクリプトが MATLAB パス上に存在しなければなりません。