このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
TestRunner を拡張するためのプラグインの書き込み
カスタム プラグインの概要
TestRunnerPlugin
メソッドには、テスト セッション、テスト スイート、テスト クラス、テストの 4 つのレベルがあります。各レベルで、テストの実行を拡張するメソッドを実装します。さらに、テスト スイート、テスト クラス、テストの各レベルで、テストまたはテスト フィクスチャの作成、セットアップ、破棄を拡張するメソッドを実装します。
テスト スイート、テスト クラス、テストの各レベルでは、reportFinalizedResult
メソッドを使うと、確定したテスト結果を TestRunner
によってレポートできるようになります。テスト結果は、残りのテスト内容でそれ以上結果が変更されなくなると確定します。TestRunner
は、各レベルで reportFinalizedResult
メソッドを呼び出すかどうかを決定します。テスト セッション レベルでは、テスト スイートが確定すると、reportFinalizedSuite
メソッドによって TestRunner
がテスト結果をレポートできるようになります。
TestRunner
は、さまざまなメソッドを次の図のように実行します。
作成メソッドは、TestRunnerPlugin
メソッド内で、出力引数を使用する唯一のセットです。通常、対応するレベルのテスト内容からのさまざまなイベントをリスニングするために作成メソッドを拡張します。 TestCase
と Fixture
のどちらのインスタンスも handle
クラスから継承するので、addlistener
メソッドを使用してリスナーを追加します。テスト内容のセットアップ、実行、破棄を行うメソッドは、TestRunner
がテスト内容を評価する方法を拡張します。
テスト セッション レベルのプラグイン メソッドの拡張
テスト セッション レベルの TestRunnerPlugin
メソッドは、TestRunner
に渡されるテスト スイートの実行とレポートを拡張します。これらのメソッドは、runSession
メソッドのスコープに入ります。
このレベルの実行メソッド runTestSuite
は、テスト フレームワークが TestRunner
に渡す配列 TestSuite
全体の一部の実行を拡張します。reportFinalizedSuite
メソッドは、runTestSuite
によって確定されたテスト スイートのレポートを拡張します。
テスト スイート レベル プラグイン メソッドの拡張
テスト スイート レベルの TestRunnerPlugin
メソッドは、共有テスト フィクスチャの作成、セットアップ、実行、および破棄を拡張します。これらのメソッドは、runTestSuite
メソッドのスコープに入ります。
メソッドのタイプ | テスト レベルの範囲: runTestSuite |
---|---|
作成メソッド | createSharedTestFixture |
セットアップ メソッド | setupSharedTestFixture |
実行メソッド | runTestClass |
破棄メソッド | teardownSharedTestFixture |
このレベルでは、createSharedTestFixture
メソッドは出力引数を使用する唯一のプラグイン メソッドです。これは、テスト クラスが必要とする共有フィクスチャごとに Fixture
インスタンスを返します。これらのフィクスチャのインスタンスは、TestCase
の getSharedTestFixtures
メソッドからテストできます。
このレベルの実行メソッド runTestClass
は、同じテスト クラスまたは同じ関数ベースのテストに属するテストの実行を拡張し、テスト レベルのプラグイン メソッドとして記述された機能を組み込みます。
テスト クラス レベル プラグイン メソッドの拡張
テスト クラス レベルの TestRunnerPlugin
メソッドは、同じテスト クラスまたは同じ関数ベースのテストに属するテスト スイート要素の作成、セットアップ、実行、および破棄を拡張します。これらのメソッドは、TestRunner
が実行する配列 TestSuite
全体のサブセットに適用されます。
メソッドのタイプ | テスト レベルの範囲: runTestClass |
---|---|
作成メソッド | createTestClassInstance |
セットアップ メソッド | setupTestClass |
実行メソッド | runTest |
破棄メソッド | teardownTestClass |
このレベルでは、createTestClassInstance
メソッドは出力引数を使用する唯一のプラグイン メソッドです。これは、クラス レベルで作成された TestCase
インスタンスを返します。それぞれのクラスで、テスト フレームワークはインスタンスを属性 TestClassSetup
または TestClassTeardown
をもつ任意のメソッドに渡します。
属性 ClassSetupParameter
をもつプロパティがある場合は、テスト クラスのセットアップはパラメーター化されます。この場合、テスト フレームワークは、クラス セットアップのパラメーター化が決定する回数に応じて setupTestClass
メソッドと teardownTestClass
メソッドを評価します。
このレベルの実行メソッド runTest
は、1 つの TestSuite
要素の実行を拡張し、テスト レベルのプラグイン メソッドとして記述された機能を組み込みます。
テスト フレームワークは、runTestClass
メソッドのスコープ内のテスト クラス レベルでメソッドを評価します。TestClassSetup
コードが正常に終了すると、runTest
メソッドが配列 TestSuite
の各要素につき 1 回呼び出されます。それぞれの TestClassSetup
パラメーター化は、作成、セットアップおよび破棄メソッドを 1 回呼び出します。
テスト レベルのプラグイン メソッドの拡張
テスト レベルの TestRunnerPlugin
メソッドは、1 つのテスト スイート要素の作成、セットアップ、実行、および破棄を拡張します。1 つの Test
要素は 1 つのテスト メソッドで構成されるか、または、テストがパラメーター化されている場合は、テストのパラメーター化の 1 つのインスタンスで構成されます。
メソッドのタイプ | テスト レベルの範囲: runTest |
---|---|
作成メソッド | createTestMethodInstance |
セットアップ メソッド | setupTestMethod |
実行メソッド | runTestMethod |
破棄メソッド | teardownTestMethod |
このレベルでは、createTestMethodInstance
メソッドは出力引数を使用する唯一のプラグイン メソッドです。これは、Test
要素ごとに作成された TestCase
インスタンスを返します。テスト フレームワークは、これらのインスタンスそれぞれを、対応する Test
メソッドおよび属性 TestMethodSetup
または TestMethodTeardown
をもつ任意のメソッドに渡します。
テスト フレームワークは、runTest
メソッドのスコープ内のテスト レベルでメソッドを評価します。フレームワークがすべての TestMethodSetup
作業を終了すると、このレベルのプラグイン メソッドを Test
要素につき 1 回呼び出します。
参考
matlab.unittest.plugins.TestRunnerPlugin
| matlab.automation.streams.OutputStream
| matlab.unittest.TestCase
| matlab.unittest.TestRunner
| matlab.unittest.fixtures.Fixture
| addlistener
| matlab.unittest.TestSuite
| matlab.unittest.plugins.Parallelizable