Main Content

matlab.unittest.fixtures.Fixture クラス

パッケージ: matlab.unittest.fixtures

テスト フィクスチャの基本的なインターフェイス

説明

matlab.unittest.fixtures.Fixture クラスは、テスト フィクスチャのインターフェイスを提供します。テスト環境を設定するセットアップ コードと、テストの実行後にそれを元の状態に戻す破棄コードをフィクスチャで指定します。

Fixture サブクラスで、テスト フレームワークでフィクスチャをセットアップするときに環境に変更を加える setup メソッドを実装する必要があります。フレームワークでフィクスチャを破棄するときに環境を復元するには、setup メソッド内で addTeardown メソッドを呼び出すか、teardown メソッドを実装します。

Fixture サブクラスでのセットアップ アクションと破棄アクションの指定に加え、構成可能なフィクスチャの場合 (たとえば、そのクラス コンストラクターが入力引数を受け入れる場合) は isCompatible メソッドを実装する必要があります。テスト フレームワークは isCompatible を呼び出して、同じ Fixture サブクラスのインスタンスが同一の共有テスト フィクスチャの状態と対応しているかどうかを判別します。

matlab.unittest.fixtures.Fixture クラスは handle クラスです。

クラスの属性

抽象型
true

クラス属性の詳細については、クラスの属性を参照してください。

プロパティ

すべて展開する

セットアップ アクションの説明。文字ベクトルとして返されます。このプロパティは、テスト フレームワークが setup メソッドを呼び出したときにフィクスチャで実行されるアクションを記述するために Fixture の実装で設定します。フィクスチャを共有テスト フィクスチャとして使用する場合、フレームワークでフィクスチャをセットアップするときにこのプロパティの値が表示されます。

属性:

GetAccess
public
SetAccess
protected

破棄アクションの説明。文字ベクトルとして返されます。このプロパティは、テスト フレームワークが teardown メソッドを呼び出すか addTeardown メソッドに渡された関数ハンドルを呼び出したときにフィクスチャで実行されるアクションを記述するために Fixture の実装で設定します。フィクスチャを共有テスト フィクスチャとして使用する場合、フレームワークでフィクスチャを破棄するときにこのプロパティの値が表示されます。

属性:

GetAccess
public
SetAccess
protected

メソッド

すべて展開する

イベント

イベント名トリガーイベント データイベントの属性
AssumptionFailed仮定の失敗時にトリガーされます。QualificationEventData オブジェクトがリスナー コールバック関数に渡されます。matlab.unittest.qualifications.QualificationEventData

NotifyAccess: private

ListenAccess: public

AssumptionPassed仮定の成功時にトリガーされます。QualificationEventData オブジェクトがリスナー コールバック関数に渡されます。matlab.unittest.qualifications.QualificationEventData

NotifyAccess: private

ListenAccess: public

AssertionFailedアサーションの失敗時にトリガーされます。QualificationEventData オブジェクトがリスナー コールバック関数に渡されます。matlab.unittest.qualifications.QualificationEventData

NotifyAccess: private

ListenAccess: public

AssertionPassedアサーションの成功時にトリガーされます。QualificationEventData オブジェクトがリスナー コールバック関数に渡されます。matlab.unittest.qualifications.QualificationEventData

NotifyAccess: private

ListenAccess: public

FatalAssertionFailed致命的なアサーションの失敗時にトリガーされます。QualificationEventData オブジェクトがリスナー コールバック関数に渡されます。matlab.unittest.qualifications.QualificationEventData

NotifyAccess: private

ListenAccess: public

FatalAssertionPassed致命的なアサーションの成功時にトリガーされます。QualificationEventData オブジェクトがリスナー コールバック関数に渡されます。matlab.unittest.qualifications.QualificationEventData

NotifyAccess: private

ListenAccess: public

ExceptionThrownテスト内容で例外をキャッチしたときにテスト ランナーによってトリガーされます。ExceptionEventData オブジェクトがリスナー コールバック関数に渡されます。matlab.unittest.qualifications.ExceptionEventData

NotifyAccess: private

ListenAccess: public

DiagnosticLoggedlog メソッドの呼び出し時にトリガーされます。LoggedDiagnosticEventData オブジェクトがリスナー コールバック関数に渡されます。matlab.unittest.diagnostics.LoggedDiagnosticEventData

NotifyAccess: private

ListenAccess: public

すべて折りたたむ

数値の出力表示形式を小数点以下 2 桁の通貨形式に変更するカスタム フィクスチャを作成して使用します。

現在のフォルダー内の CurrencyFormatFixture.m という名前のファイルで、matlab.unittest.fixtures.Fixture インターフェイスをサブクラス化して CurrencyFormatFixture クラスを作成します。クラスで setup メソッドを実装して、フィクスチャによって数値の表示形式が通貨形式に変更されるようにします。テスト後に表示形式を元の状態に戻すために、setup メソッド内で addTeardown メソッドを呼び出します。

classdef CurrencyFormatFixture < matlab.unittest.fixtures.Fixture
    methods
        function setup(fixture)
            originalFormat = format;
            fixture.addTeardown(@format,originalFormat)
            format bank
        end
    end
end

現在のフォルダー内の ExampleTest.m という名前のファイルで、カスタム フィクスチャを適用し、数値が想定される形式で表示されることを検証する ExampleTest クラスを作成します。この例では、簡略化するために、関数 formattedDisplayText の呼び出しで実際の値を生成しています。実際には、ユーザー定義のコードをテストします。

classdef ExampleTest < matlab.unittest.TestCase
    methods (Test)
        function formatTest(testCase)
            testCase.applyFixture(CurrencyFormatFixture)
            actual = strtrim(formattedDisplayText(pi));
            expected = "3.14";
            testCase.verifyEqual(actual,expected)
        end
    end
end

ExampleTest クラスを実行します。テスト フレームワークでフィクスチャがセットアップされ、表示形式が通貨形式に変更されます。テストの実行が完了すると、フレームワークでフィクスチャが破棄され、元の表示形式に戻ります。この例では、テストはパスします。

runtests("ExampleTest");
Running ExampleTest
.
Done ExampleTest
__________

詳細

すべて展開する

バージョン履歴

R2014a で導入

すべて展開する