Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

matlab.unittest.qualifications.FatalAssertable クラス

パッケージ: matlab.unittest.qualifications

テストの実行を中断する検定

説明

FatalAssertable クラスは、テストの実行を中断する検定を提供します。エラーの発生時に実行されるアクションを除いて、FatalAssertable クラスは matlab.unittest 検定と同様に機能します。

致命的なアサーション エラーが発生すると、FatalAssertable クラスは FatalAssertionFailedException をスローしてテスト フレームワークにエラーを通知します。テスト実行フレームワークは、エラーの診断情報を表示して、すべてのテスト セッションを中断します。これは、テスト対象のソフトウェアに多数のエラーが含まれており、テスト セッションを続行する意味がない場合に便利です。また、フィクスチャの破棄で致命的なアサーションを使用すると、フィクスチャの状態が正しく回復されることを保証することができます。回復されない場合は、全テスト セッションが中断され、テストを再開する前に MATLAB® を再起動することが求められます。これにより、後続のテストを一貫した MATLAB の状態で実行することができます。フィクスチャの破棄を回復させ、エラーに対して例外セーフ にすることができる場合は、代わりにアサーションを使用します。

致命的なアサーションでは、基本的なテストのエラーに起因する誤ったテスト エラーを回避できます。前のテストでテスト フィクスチャを回復できなかった場合にも、誤ったテスト エラーを回避できます。テスト フレームワークでフィクスチャの破棄を適切に行うことができない場合、MATLAB を再起動して、テストがクリーンな状態で再開されるようにします。

メソッド

fatalAssertClass指定した値が正確なクラスであることを致命的にアサートする
fatalAssertEmpty値が空であることを致命的にアサートする
fatalAssertEqual値が指定値と等しいことを致命的にアサートする
fatalAssertError関数が指定された例外をスローしたことを致命的にアサートする
fatalAssertFail無条件の決定的アサーション エラーの生成
fatalAssertFalse値が false であることを致命的にアサートする
fatalAssertGreaterThanOrEqual値が指定値以上であることを致命的にアサートする
fatalAssertInstanceOf値が指定したタイプのオブジェクトであることを致命的にアサートする
fatalAssertLength値が指定された長さであることを致命的にアサートする
fatalAssertLessThan値が指定値より小さいことを致命的にアサートする
fatalAssertLessThanOrEqual値が指定値以下であることを致命的にアサートする
fatalAssertMatches文字列が指定された正規表現と一致することを致命的にアサートする
fatalAssertNotEmpty値が空でないことを致命的にアサートする
fatalAssertNotEqual値が指定値と等しくないことを致命的にアサートする
fatalAssertNotSameHandle値が指定されたインスタンスに対するハンドルでないことを致命的にアサートする
fatalAssertNumElements値が指定された要素数をもつことを致命的にアサートする
fatalAssertReturnsTrue評価時に関数が true を返すことを致命的にアサートする
fatalAssertSameHandle2 つの値が同じインスタンスに対するハンドルであることを致命的にアサートする
fatalAssertSize値が指定されたサイズであることを致命的にアサートする
fatalAssertSubstring文字列に指定文字列が含まれていることを致命的にアサートする
fatalAssertThat値が指定された制約を満たすことを致命的にアサートする
fatalAssertTrue値が true であることを致命的にアサートする
fatalAssertWarning関数が指定された警告を表示することを致命的にアサートする
fatalAssertWarningFree関数が警告を表示しないことを致命的にアサートする

イベント

FatalAssertionFailed

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

FatalAssertionPassed

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

コピーのセマンティクス

ハンドル。コピー操作に対するハンドル クラスの影響については、オブジェクトのコピーを参照してください。

すべて折りたたむ

致命的なアサーションでは、状態が回復不能になるため、現在のテスト メソッドの残りが無効になります。"補助関数" は、TestCase クラス内の関数ですが、methods ブロック ステートメント内には配置しません。これらの関数の実行は、matlab.unittest フレームワークでは制御されません。

MATLAB パス上のフォルダーにファイル DocPolynomSaveLoadTest.m を追加します。DocPolynomSaveLoadTest テスト ケースの補助関数 cleanUpTemporaryFolder を参照してください。

 DocPolynomSaveLoadTest クラス定義ファイル

関数 cleanUpTemporaryFolder を個別の methods ブロックの中に配置することで、それを補助関数にします。

methods(Access=private) 
    function cleanUpTemporaryFolder(testCase, tempFolder) 
        % code 
    end 
end 

fatalAssertTrue メソッドを使用して、rmdir の引数 success でエラーをテストします。致命的なアサーションが発生すると、テストの実行は中断されます。

function cleanUpTemporaryFolder(testCase, tempFolder) 
     
    import matlab.unittest.diagnostics.Diagnostic
     
    [success, message] = rmdir(tempFolder, 's'); 
    testCase.fatalAssertTrue(success, ... 
        Diagnostic.join('Could not remove the temporary folder.',... 
        message))
end 

関数 rmdir が失敗すると、このテストが失敗し、最初の起動時の MATLAB およびマシンの状態を復元します。中断を行うことで、後続のテストがこのテストにより MATLAB が予期しない状態のままになるために失敗することがなくなります。

詳細

すべて展開する

R2013a で導入