Main Content

addTeardown

クラス: matlab.unittest.TestCase
パッケージ: matlab.unittest

破棄コードをテスト ケースに動的に追加

説明

addTeardown(testCase,teardownFcn) は、破棄コード teardownFcn をテスト ケースに登録します。テストの実行時に破棄コードを動的に実行するには、Test メソッド、TestMethodSetup メソッド、または TestClassSetup メソッド内で addTeardown を使用します。破棄アクションのタイミングと頻度は、メソッドを呼び出すスコープに応じて異なります。

  • Test メソッド — 現在のテストの後に teardownFcn が実行されます。

  • TestMethodSetup メソッド — テスト クラスの各テストの後に teardownFcn が実行されます。

  • TestClassSetup メソッド — クラスに含まれるすべてのテストの後に teardownFcn が 1 回実行されます。

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

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

入力引数

すべて展開する

テスト ケース。matlab.unittest.TestCase オブジェクトとして指定します。

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

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

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

例: addTeardown(testCase,@close,fig)

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

属性

Sealedtrue

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

すべて展開する

各テストの実行後に破棄コードを動的に実行します。

現在のフォルダー内のファイルに、FigurePropertiesTest クラスを作成します。Figure のプロパティをそれぞれ検証する 2 つの Test メソッドをクラスで定義します。テストごとに新規の Figure を作成するには、TestMethodSetupmethods ブロックを使用します。それぞれのテストの後に環境を復元するには、同じブロックで addTeardown メソッドを呼び出します。

classdef FigurePropertiesTest < matlab.unittest.TestCase
    properties
        TestFigure
    end

    methods (TestMethodSetup)
        function createFigure(testCase)
            testCase.TestFigure = figure;
            testCase.addTeardown(@close,testCase.TestFigure)
        end
    end

    methods (Test)
        function defaultCurrentPoint(testCase)
            cp = testCase.TestFigure.CurrentPoint;
            testCase.verifyEqual(cp,[0 0], ...
                "Default current point must be [0 0].")
        end

        function defaultCurrentObject(testCase)
            import matlab.unittest.constraints.IsEmpty
            co = testCase.TestFigure.CurrentObject;
            testCase.verifyThat(co,IsEmpty, ...
                "Default current object must be empty.")
        end
    end
end

テストを実行します。テストが最後まで実行されると、addTeardown に渡された関数ハンドルがテスト フレームワークで呼び出され、そのテストの Figure が自動的に閉じられます。

results = runtests("FigurePropertiesTest");
Running FigurePropertiesTest
.
.
Done FigurePropertiesTest
__________

詳細

すべて展開する

バージョン履歴

R2013a で導入