matlab.unittest.TestCase クラス
パッケージ: matlab.unittest
すべての matlab.unittest
テスト クラスのスーパークラス
説明
この TestCase
クラスはを matlab.unittest
フレームワークに書き込むための手段です。このクラスによって、テストの内容、テストのフィクスチャのセットアップ、破棄ルーチンの書き込みと特定を行うことができます。このようなテストを作成するには、TestCase
から導出して TestCase
サブクラスを生成する必要があります。次にサブクラスでメタデータ属性を利用して、テストおよびテストのフィクスチャを指定することができます。
構築
forInteractiveUse
静的メソッドを使用して、対話型のコマンド ライン用の TestCase
を作成します。フレームワークでテストを実行する場合、TestCase
インスタンスは matlab.unittest.TestRunner
によって作成されます。
メソッド
addTeardown | 破棄ルーチンを TestCase インスタンスに動的に追加 |
applyFixture | TestCase でのフィクスチャの使用 |
createTemporaryFolder | Create temporary folder |
forInteractiveUse | 対話型で使用する TestCase を作成 |
getSharedTestFixtures | 共有テスト フィクスチャへのアクセスの提供 |
log | テスト実行中の診断情報の記録 |
onFailure | テスト失敗の診断情報を動的に追加 |
run | TestCase テストを実行する |
継承メソッド
TestCase
クラスは、以下のクラスからメソッドを継承します。
matlab.unittest.qualifications.Assertable | テストの前提条件を検証する検定 |
matlab.unittest.qualifications.Assumable | テストの内容をフィルター処理する検定 |
matlab.unittest.qualifications.FatalAssertable | テストの実行を中断する検定 |
matlab.unittest.qualifications.Verifiable | ソフトエラー条件を生成する検定 |
属性
クラスの属性
TestCase
オブジェクトは以下のクラス レベルの属性をサポートします。クラス レベルの属性は、classdef
ブロックでクラス名の前に指定します。
SharedTestFixtures | 共有テスト フィクスチャを含めるためのクラス ブロック。matlab.unittest.fixtures.Fixture インスタンスの cell 配列として SharedTestFixtures を定義しなければなりません。 |
TestTags | 指定された値のタグが付いているテストを含むクラス ブロック。TestTags は、空でない文字ベクトルの cell 配列、または空でない string の配列として定義しなければなりません。ここで各要素がテスト用のタグになります。 |
メソッドの属性
TestCase
から導出されるクラスは、matlab.unittest
フレームワーク固有の属性を含む methods
ブロックを定義しての内容を指定することができます。
Test | テスト メソッドを含めるためのメソッド ブロック。 |
TestMethodSetup | セットアップ コードを含めるためのメソッド ブロック。 |
TestMethodTeardown | 破棄コードを含めるためのメソッド ブロック。 |
TestClassSetup | クラス レベルのセットアップ コードを含めるためのメソッド ブロック。 |
TestClassTeardown | クラス レベルの破棄コードを含めるためのメソッド ブロック。 |
ParameterCombination | パラメーター化されたテスト コードを含めるためのメソッド ブロック。この属性は、次の値を受け入れます。
|
TestParameterDefinition | スイートの作成時にパラメーター化プロパティを初期化するコードを含めるためのメソッド ブロック。この属性を使用して定義されるメソッドは静的でなければなりません。 |
TestTags | 指定された値のタグが付いているテストを含むメソッド ブロック。TestTags は、空でない文字ベクトルの cell 配列、または空でない string の配列として定義しなければなりません。ここで各要素がテスト用のタグになります。 |
プロパティの属性
TestCase
から導出されるクラスは、matlab.unittest
フレームワーク固有の属性を含む properties
ブロックを定義しての内容を指定することができます。
ClassSetupParameter | TestClassSetup ブロックのメソッドのパラメーター化プロパティを定義するプロパティ ブロック。 |
MethodSetupParameter | TestMethodSetup ブロックのメソッドのパラメーター化プロパティを定義するプロパティ ブロック。 |
TestParameter | Test ブロックのメソッドのパラメーター化プロパティを定義するプロパティ ブロック。 |
イベント
VerificationFailed | 検証の失敗時にトリガーされます。 |
VerificationPassed | 検証の成功時にトリガーされます。 |
AssertionFailed | アサーションの失敗時にトリガーされます。 |
AssertionPassed | アサーションの成功時にトリガーされます。 |
FatalAssertionFailed | 致命的なアサーションの失敗時にトリガーされます。 |
FatalAssertionPassed | 致命的なアサーションの成功時にトリガーされます。 |
AssumptionFailed | 仮定の失敗時にトリガーされます。 |
AssumptionPassed | 仮定の成功時にトリガーされます。 |
ExceptionThrown | 例外がスローされたときに |
DiagnosticLogged |
|
例
ヒント
TestCase
サブクラスでコンストラクター メソッドまたはデストラクター メソッドを定義することは推奨されません。TestCase
のコンストラクター メソッドとデストラクター メソッドはテスト内容と見なされず、検定の実行に使用してはなりません。たとえば、次のSampleTest
クラスでは、コンストラクター メソッドとTest
メソッドを使用して検定を指定しています。ただし、コンストラクター メソッド内の検定はテスト エラーを生成しません。テスト フレームワークは、testSize
メソッド内で実行される検定の結果として、テスト エラーを 1 つしか報告しません。classdef SampleTest < matlab.unittest.TestCase methods function testCase = SampleTest % Constructor method not recommended testCase.verifyEqual(1,2) % Does not produce a test failure end end methods(Test) function testSize(testCase) testCase.verifySize([1 2 3; 4 5 6],[2 4]) % Produces a test failure end end end