matlab.unittest.plugins.plugindata.ResultDetails クラス
パッケージ: matlab.unittest.plugins.plugindata
説明
ResultDetails
により、TestRunnerPlugin
インスタンスは TestResult
配列の Details
プロパティを変更できます。Details
構造体を変更するには、プラグイン クラス メソッドのスコープ内で ResultDetails
のメソッドを呼び出します。TestRunner
はこのクラスをインスタンス化するため、クラスのオブジェクトを直接作成する必要はありません。
メモ
ResultDetails
で確定したテスト結果を変更することはできません。テスト結果は、検定が結果を変更できなくなると確定されます。
例
テスト結果の詳細へのグループ番号の追加
テスト フレームワークは、テスト スイートをグループに分け、現在の並列プール上で各グループを実行できます (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
バージョン履歴
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)