append
クラス: matlab.unittest.plugins.plugindata.ResultDetails
名前空間: matlab.unittest.plugins.plugindata
説明
append(
は、resultDetails
,field
,data
)data
を TestResult
配列の Details
プロパティの field
に付加します。field
が存在しない場合、このメソッドはこれを Details
構造体に追加し、data
を追加されたフィールドに格納します。
プラグイン クラス メソッドのスコープ内で append
を呼び出す場合、付加操作は、プラグイン メソッドの影響を受けるすべての TestResult
オブジェクトに適用されます。たとえば、TestRunnerPlugin
の runSession
メソッドのスコープ内で append
を呼び出す場合、テスト セッションに属するすべての TestResult
オブジェクトに同じデータが追加されます。
入力引数
resultDetails
— テスト結果の詳細の修飾子
matlab.unittest.plugins.plugindata.ResultDetails
オブジェクト
テスト結果の詳細の修飾子。matlab.unittest.plugins.plugindata.ResultDetails
クラスのインスタンスとして指定します。
field
— フィールド名
文字ベクトル | string スカラー
フィールド名。文字ベクトルまたは string スカラーとして指定します。有効なフィールド名は文字で始まり、文字、数字およびアンダースコアの組み合わせを使用できます。フィールド名の最大長は、関数 namelengthmax
が返す値です。
data
— フィールドに付加するデータ
スカラー | 配列
フィールドに付加するデータ。スカラーまたはオブジェクトの配列として指定します。たとえば、data
は数値スカラー、string 配列、cell 配列、構造体、またはクラス オブジェクトとして指定できます。
特定のフィールドに対して append
メソッドを呼び出し、データを必要な数だけそのフィールドに付加することができます。異なるデータ型の要素をフィールドに付加するために、MATLAB® はフィールド内のすべての要素の型が同じになるように、一部の要素を変換します。詳細については、異なるクラスの有効な組み合わせを参照してください。
例
テスト結果の詳細へのグループ番号の追加
テスト フレームワークは、テスト スイートをグループに分け、現在の並列プール上で各グループを実行できます (Parallel Computing Toolbox™ が必要)。グループ番号を TestResult
オブジェクトに追加するプラグインを作成します。
現在のフォルダー内のファイルに、TestRunnerPlugin
の runTestSuite
メソッドをオーバーライドする、並列化可能なプラグイン クラス ExamplePlugin
を作成します。グループ番号を含む Group
フィールドを、グループに対応する TestResult
オブジェクトの Details
プロパティに追加します。
classdef ExamplePlugin < ... matlab.unittest.plugins.TestRunnerPlugin & ... matlab.unittest.plugins.Parallelizable methods (Access = protected) function runTestSuite(plugin,pluginData) % Inspect pluginData to get the TestSuite group number groupNumber = pluginData.Group; % Add the group number to TestResult objects resultDetails = pluginData.ResultDetails; resultDetails.append('Group',groupNumber) % Invoke the superclass method runTestSuite@matlab.unittest.plugins.TestRunnerPlugin(plugin,pluginData); end end end
現在のフォルダーに、このパラメーター化されたテスト クラスを含む ExampleTest.m
という名前のファイルを作成します。このクラスでは、1 から 10 の間の整数の疑似乱数を比較するテストが 300 回行われます。
classdef ExampleTest < matlab.unittest.TestCase properties (TestParameter) num1 = num2cell(randi(10,1,10)); num2 = num2cell(randi(10,1,10)); end methods(Test) function testAssert(testCase,num1,num2) testCase.assertNotEqual(num1,num2) end function testVerify(testCase,num1,num2) testCase.verifyNotEqual(num1,num2) end function testAssume(testCase,num1,num2) testCase.assumeNotEqual(num1,num2) end end end
コマンド プロンプトで ExampleTest
クラスからテスト スイートを作成します。
suite = testsuite('ExampleTest');
プラグインなしで TestRunner
インスタンスを作成し、ExamplePlugin
をランナーに追加して、テストを並列実行します。
import matlab.unittest.TestRunner
runner = TestRunner.withNoPlugins;
runner.addPlugin(ExamplePlugin)
result = runner.runInParallel(suite);
Split tests into 18 groups and running them on 6 workers. ---------------- Finished Group 1 ---------------- ---------------- Finished Group 2 ---------------- ---------------- Finished Group 3 ---------------- ---------------- Finished Group 4 ---------------- ---------------- Finished Group 5 ---------------- ---------------- Finished Group 6 ---------------- ---------------- Finished Group 7 ---------------- ---------------- Finished Group 8 ---------------- ---------------- Finished Group 9 ---------------- ----------------- Finished Group 10 ----------------- ----------------- Finished Group 11 ----------------- ----------------- Finished Group 12 ----------------- ----------------- Finished Group 13 ----------------- ----------------- Finished Group 14 ----------------- ----------------- Finished Group 15 ----------------- ----------------- Finished Group 16 ----------------- ----------------- Finished Group 17 ----------------- ----------------- Finished Group 18 -----------------
最初と最後の Test
要素のグループ番号を取得します。
groupOfFirst = result(1).Details.Group groupOfLast = result(end).Details.Group
groupOfFirst = 1 groupOfLast = 18
拡張機能
スレッドベースの環境
MATLAB® の backgroundPool
を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool
を使用してコードを高速化します。
バージョン履歴
R2020a で導入
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)