matlab.unittest.TestRunner クラス
名前空間: matlab.unittest
ユニット テスト フレームワークでテストを実行するためのクラス
説明
この matlab.unittest.TestRunner
クラスは、matlab.unittest
フレームワークでテスト スイートを実行するために使用する基本的 API です。このクラスは、配列 TestSuite
で実行および動作します。このクラスを使用して、テストの実行をカスタマイズします。
matlab.unittest.TestRunner
クラスは handle
クラスです。
作成
シンプルでメッセージを表示しない TestRunner
オブジェクトを作成するには、静的な withNoPlugins
メソッドを呼び出します。
runner = matlab.unittest.TestRunner.withNoPlugins;
MATLAB® のコマンド ウィンドウからテストを実行するための TestRunner
オブジェクトを作成するには、静的な withTextOutput
メソッドを呼び出します。
runner = matlab.unittest.TestRunner.withTextOutput;
カスタマイズした TestRunner
オブジェクトを作成するには、addPlugin
メソッドを呼び出します。
runner = matlab.unittest.TestRunner.withNoPlugins; runner.addPlugin(SomePlugin())
プロパティ
ArtifactsRootFolder
— テスト実行アーティファクトを保存するルート フォルダー
string スカラー | 文字ベクトル
テスト実行アーティファクトを保存するルート フォルダー。string スカラーまたは文字ベクトルとして指定します。既定では、ArtifactsRootFolder
の値は string(tempdir)
からの値ですが、書き込み可能な任意のフォルダーに設定できます。
テスト実行時に生成されたアーティファクトは、いずれも ArtifactsRootFolder
内のサブフォルダーに保存されます。このサブフォルダーの名前は、特定のテスト実行に関連付けられる一意の識別子です。MATLAB はテスト実行によってアーティファクトが生成された場合にのみサブフォルダーを作成します。
たとえば、ArtifactsRootFolder
が "C:\Temp"
に設定され、自動生成されたテスト実行識別子が "1231df38-7515-4dbe-a869-c3d9f885f379"
であるとします。テスト実行によってアーティファクト "artifact.txt"
が生成されると、このアーティファクトは "C:\Temp\1231df38-7515-4dbe-a869-c3d9f885f379\artifact.txt"
として保存されます。
PrebuiltFixtures
— テスト ランナー外でセットアップされたフィクスチャ
スカラーの Fixture
インスタンス | Fixture
インスタンスの行ベクトル
テスト ランナー外でセットアップされたフィクスチャ。スカラーまたは matlab.unittest.fixtures.Fixture
インスタンスの行ベクトルとして指定します。フィクスチャのセットアップと破棄の処理中に環境構成を自動指定する代わりに手動で設定するように指定するには、このプロパティを使用します。
テスト ランナーは、フィクスチャが既にセットアップされていると認識するため、PrebuiltFixtures
プロパティで指定されたフィクスチャのセットアップや破棄を一切試行しません。テスト スイートで共有テスト フィクスチャが必要とされ、そのテスト フィクスチャがプリビルドのフィクスチャとして指定されている場合、テスト ランナーはセットアップや破棄を行いません。
メモ
テスト ランナーがプリビルドのフィクスチャを使用するのは、そのフィクスチャが PrebuiltFixtures
プロパティで指定されていて、テスト クラス定義で SharedTestFixture
として列挙されている場合のみです。テスト ランナーは、TestCase.applyFixture
メソッドで登録されているプリビルドのフィクスチャは使用しません。
メソッド
パブリック メソッド
matlab.unittest.TestRunner.withNoPlugins | プラグインなしで最小限のテスト ランナーを作成 |
matlab.unittest.TestRunner.withTextOutput | コマンド ウィンドウ出力用の TestRunner オブジェクトの作成 |
addPlugin | テスト ランナーにプラグインを追加 |
addModelCoverage (Simulink Test) | Enable model coverage collection for Simulink tests |
addSimulinkTestResults (Simulink Test) | Enable pushing test results to Simulink Test Manager |
run | テスト スイートを実行 |
runInParallel | テスト スイート内のすべてのテストを並列実行 |
例
テキスト出力用に設定された TestRunner オブジェクトの作成
現在のインポート リストに matlab.unittest
クラスを追加します。
import matlab.unittest.TestRunner import matlab.unittest.TestSuite
TestSuite
配列を作成します。
suite = TestSuite.fromClass(?myNamespace.MyTestClass);
TestRunner
オブジェクトを作成し、スイートを実行します。
runner = TestRunner.withTextOutput; result = run(runner,suite);
プリビルドのフィクスチャを含める
この例では、共有テスト フィクスチャを使用した後、これをプリビルドのフィクスチャとして指定します。テスト ランナーはプリビルド フィクスチャのセットアップおよび破棄を行いません。テストではフィクスチャが存在すると仮定されるため、通常はフィクスチャにより自動実行されるセットアップの作業を手動で行う必要があります。
作業フォルダー内のファイルにテスト クラスを作成します。テスト クラスは共有テスト フィクスチャとして PathFixture
を使用します。この例では、作業フォルダー内にサブフォルダー helperFiles
が存在すると仮定しています。
classdef (SharedTestFixtures={ ... matlab.unittest.fixtures.PathFixture('helperFiles')}) ... SampleTest < matlab.unittest.TestCase methods(Test) function test1(testCase) f = testCase.getSharedTestFixtures; import matlab.unittest.constraints.ContainsSubstring testCase.assertThat(path,ContainsSubstring(f.Folder)) end end end
コマンド プロンプトでテスト スイートとテスト ランナーを作成します。
import matlab.unittest.TestRunner import matlab.unittest.TestSuite suite = TestSuite.fromClass(?SampleTest); runner = TestRunner.withTextOutput;
共有テスト フィクスチャを使用してテストを実行します。ここではフィクスチャがプリビルドされていません。
runner.run(suite);
Setting up PathFixture Done setting up PathFixture: Added 'C:\Work\helperFiles' to the path. __________ Running SampleTest . Done SampleTest __________ Tearing down PathFixture Done tearing down PathFixture: Restored the path to its original state. __________
テスト ランナーが共有テスト フィクスチャのセットアップと破棄を行います。
フィクスチャのインスタンスを作成し、テスト ランナーに追加します。
f = matlab.unittest.fixtures.PathFixture('helperFiles');
runner.PrebuiltFixtures = f;
'helperFiles'
フォルダーを手動でパスに追加します。PathFixture
は、指定されたフォルダーをパスに追加します。テストはこのセットアップ操作に依存します。このフィクスチャはプリビルドとして定義されているため、テスト ランナーによるセットアップと破棄は実行されません。したがって、この操作を手動で行う必要があります。この場合、パスに手動で追加しないと、テストは失敗します。
p = fullfile(pwd,'helperFiles');
oldPath = addpath(p);
テストを実行します。
runner.run(suite);
Running SampleTest . Done SampleTest __________
テスト ランナーは、フィクスチャがプリビルドされていると仮定するため、そのセットアップや破棄を行いません。
パスを手動でリセットします。
path(oldPath)
バージョン履歴
R2013a で導入
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)