Main Content

addTeardown

クラス: matlab.unittest.fixtures.Fixture
名前空間: matlab.unittest.fixtures

破棄コードをフィクスチャに動的に追加

説明

addTeardown(fixture,teardownFcn) は、破棄コード teardownFcn をフィクスチャに登録します。テスト フレームワークでフィクスチャを破棄するときに破棄コードを動的に実行するには、Fixture サブクラスの setup メソッド内で addTeardown を呼び出します。

環境を復元するために、このメソッドは後入れ先出し (LIFO) のポリシーに従って、対応するセットアップ アクションと逆の順序で破棄アクションを実行します。テスト内容の例外安全を実現するには addTeardown を使用します。

addTeardown(fixture,teardownFcn,input1,...,inputN) は、フィクスチャの破棄で teardownFcn を呼び出す際の入力引数も指定します。

入力引数

すべて展開する

フィクスチャ。matlab.unittest.fixtures.Fixture オブジェクトとして指定します。

破棄コード。関数ハンドルとして指定します。

例: addTeardown(fixture,@() format(originalFormat))

フィクスチャの破棄で関数ハンドル teardownFcn を呼び出す際の入力引数。値のコンマ区切りリストとして指定します。

例: addTeardown(fixture,@close,fig)

例: addTeardown(fixture,@setenv,"UserName",originalUserName)

属性

Sealedtrue

メソッドの属性の詳細については、メソッドの属性を参照してください。

すべて展開する

数値の出力表示形式を小数点以下 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
__________

代替方法

setup メソッド内で addTeardown メソッドを呼び出す代わりに、teardown メソッドを実装して破棄コードを指定できます。

バージョン履歴

R2014a で導入