Main Content

applyFixture

クラス: matlab.unittest.TestCase
名前空間: matlab.unittest

テスト ケースでフィクスチャを使用

説明

applyFixture(testCase,fixture) は、指定されたフィクスチャをテスト ケースで使用できるようにセットアップし、テストの実行後に破棄します。

applyFixture は、Test メソッド、TestMethodSetup メソッド、または TestClassSetup メソッド内で使用します。セットアップ アクションおよび破棄アクションのタイミングと頻度は、メソッドを呼び出すスコープに応じて異なります。

  • Test メソッド — applyFixture メソッドは、フィクスチャを現在のテスト用にセットアップし、そのテストの実行後に破棄します。

  • TestMethodSetup メソッド — applyFixture メソッドは、フィクスチャをテスト クラスの各テストの前にセットアップし、各テストの後に破棄します。

  • TestClassSetup メソッド — applyFixture メソッドは、フィクスチャをテスト クラス全体で 1 回セットアップし、クラスに含まれるすべてのテストの実行後に破棄します。

f = applyFixture(testCase,fixture) は、セットアップ後にフィクスチャを matlab.unittest.fixtures.Fixture オブジェクトとして返して、そのフィクスチャへのアクセスを提供します。

入力引数

すべて展開する

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

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

属性

Sealedtrue

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

すべて展開する

SuppressedWarningsFixture インスタンスをテスト ケースで使用して、テストの実行時に警告を抑制できます。たとえば、存在しないフォルダーを検索パスから削除しようとしたときに発行される警告を抑制します。

rmpath コマンドを使用して存在しないフォルダーをパスから削除しようとすると、警告が発行されます。

rmpath nonexistentFolder
Warning: "nonexistentFolder" not found in path.

rmpath コマンドによって発行された警告の識別子を返します。

[~,identifier] = lastwarn
identifier =

    'MATLAB:rmpath:DirNotFound'

現在のフォルダー内の SuppressedWarningTest.m という名前のファイルで、rmpath の呼び出しが警告なしで実行されることを検証するテスト クラスを作成します。テストにパスするように、テストで applyFixture メソッドを呼び出します。

classdef SuppressedWarningTest < matlab.unittest.TestCase
    methods (Test)
        function testWarningFree(testCase)
            import matlab.unittest.fixtures.SuppressedWarningsFixture
            testCase.applyFixture( ...
                SuppressedWarningsFixture("MATLAB:rmpath:DirNotFound"))
            testCase.verifyWarningFree(@() rmpath("nonexistentFolder"))
        end
    end
end

テスト クラスを実行します。Test メソッドで関数ハンドルが呼び出されると、指定した警告がフィクスチャによって抑制されます。テストはパスします。

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

テストの実行が完了すると、テスト フレームワークでフィクスチャが破棄され、環境が元の状態に戻ります。そのため、存在しないフォルダーで rmpath を新たに呼び出すと警告が発行されます。

rmpath nonexistentFolder
Warning: "nonexistentFolder" not found in path.

バージョン履歴

R2013b で導入