Main Content

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

matlab.unittest.TestSuite.fromFolder

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

フォルダー内のすべてのテストから配列 TestSuite を作成

説明

suite = matlab.unittest.TestSuite.fromFolder(folder) は、配列 TestSuite を、すべての Test メソッドから作成します。このメソッドは folder に含まれているすべての明確な TestCase クラスから取得します。対象の配列は suite に返されます。テストが関数ベースまたはスクリプトベースの場合、Test ファイルが、単語「test」で開始または終了するという命名規則に従っている場合には、配列 TestSuite に含まれます。単語「test」は大文字と小文字が区別されません。クラス ベースのテストでは、この命名規則に従う必要はありません。このメソッドは再帰的なものではなく、対象のテストだけを指定されたフォルダーに直接返します。

テスト スイートの実行時、MATLAB® は現在のフォルダーをテスト内容を定義するフォルダーに変更し、テストを実行する間、そのフォルダーをパスに追加します。

suite = matlab.unittest.TestSuite.fromFolder(folder,s) は、セレクター s によって指定される条件を満たす folder 内のすべての Test メソッドから配列 TestSuite を作成します。

suite = matlab.unittest.TestSuite.fromFolder(___,Name,Value) は、配列 TestSuite を、1 つ以上の Name,Value のペアの引数で指定された追加オプションを使って作成します。この構文では、前述の構文の入力引数のいずれかを使用できます。

入力引数

folder

テストを含むフォルダー。文字ベクトルまたは string スカラーとして指定します。folder は目的のフォルダーへの絶対パスまたは相対パスのいずれかです。

s

matlab.unittest.selector パッケージのクラスのインスタンスとして指定されるセレクター。

名前と値の引数

BaseFolder

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

ExternalParameters

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

IncludingSubfolders

任意の folder サブフォルダーからのテストを含めるかどうかを示すインジケーター。ただし、クラスおよび private フォルダーを除きます。false または true (logical 0 または 1) として指定します。このプロパティは既定で false です。作成時にこれを true として指定できます。

Name

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

ParameterProperty

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

ParameterName

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

  • プロパティ値が文字ベクトルの cell 配列である場合、MATLAB は、cell 配列の値からパラメーター名を生成します。それ以外の場合、MATLAB はパラメーター名を value1value2、…、valueN として指定します。

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

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

ProcedureName

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

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

Superclass

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

Tag

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

出力引数

suite

一連のテスト。matlab.unittest.Test 配列として指定します。

属性

Statictrue

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

すべて展開する

現在のインポート リストに matlab.unittest.TestSuite クラスを追加します。

import matlab.unittest.TestSuite;
suite = TestSuite.fromFolder(pwd);
result = run(suite);
suite = TestSuite.fromFolder(pwd, 'IncludingSubfolders', true);
result = run(suite);

作業フォルダーで、新しいフォルダー myTests を作成します。そのフォルダーに、以下の 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

テスト クラスには、2 つのパラメーター化されたテスト メソッド testClasstestSize があります。

コマンド プロンプトで、パラメーター名 'double' を使用するすべてのパラメーター化されたテストからテスト スイートを作成します。

import matlab.unittest.TestSuite;
import matlab.unittest.selectors.HasParameter;

suite = TestSuite.fromFolder('myTests', HasParameter('Name','double'));
{suite.Name}'
ans = 

    'testZeros/testClass(type=double,outSize=s2d)'
    'testZeros/testClass(type=double,outSize=s3d)'

前述の例から myTests フォルダーと testZeros.m クラスを作成します。

パラメーター名 'double' を使用するすべてのテストのテスト スイートを作成します。

import matlab.unittest.TestSuite;

suite = TestSuite.fromFolder('myTests', 'ParameterName', 'double');
{suite.Name}'
ans = 

    'testZeros/testClass(type=double,outSize=s2d)'
    'testZeros/testClass(type=double,outSize=s3d)'

バージョン履歴

R2013a で導入

すべて展開する