Main Content

このページは前リリースの情報です。該当の英語のページはこのリリースで削除されています。

assertThat

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

値が指定された制約を満たすことをアサートする

構文

assertThat(assertable,actual,constraint)
assertThat(assertable,actual,constraint,diagnostic)

説明

assertThat(assertable,actual,constraint) は、actual が指定された constraint を満たす値であることをアサートします。

制約を満たしていない場合、constraint によって生成されたフレームワーク診断だけを使って、アサーション エラーが生成されます。

assertThat(assertable,actual,constraint,diagnostic) は、さらに diagnostic の診断情報を検定に関連付けます。テスト フレームワークでは、テスト ランナーの構成に応じて検定にパスしたときか失敗したときに診断を表示する場合があります。既定では、フレームワークは検定に失敗したときにのみ診断を表示します。この既定の動作はテスト ランナーをカスタマイズしてオーバーライドできます。たとえば、失敗したイベントとパスしたイベントの両方の診断を表示するには、DiagnosticsOutputPlugin インスタンスを使用します

シグネチャを使用した場合、constraint で提供されている診断情報に加え、diagnostic に含まれている診断情報の両方が使用されます。

入力引数

assertable

この matlab.unittest.TestCase インスタンスは、テストを実行しているフレームワークとの組み合わせでアサーションが成功か失敗かを判定するために使用します。

actual

テストする値。

constraint

検証にパスするために実際の値が満たさなければならない制約。matlab.unittest.constraints インスタンスとして指定されます。

diagnostic

検定に関連する診断情報。次のいずれかとして指定します。

  • string 配列

  • 文字配列

  • 関数ハンドル

  • matlab.unittest.diagnostics.Diagnostic オブジェクト

診断値は、非スカラー値になることがあります。詳細については、matlab.unittest.diagnostics.Diagnostic を参照してください。

verifyThat の例を参照し、verifyThat の呼び出しを assertThat に置き換えます。

ヒント

  • エラー条件によって現在のテスト内容の残りが無効になっても、それ以降のテスト メソッドは正しく実行される場合、アサーション検定を使用してください。アサーション地点におけるエラーによって、現在のテスト メソッドが失敗し不完全となります。あるいは、次のようにします。

    • 検証検定を使用して、例外をスローせずにエラーを生成して記録します。検証では例外がスローされないため、すべてのテスト内容は検証エラーが発生しても最後まで実行されます。通常の場合、検証はテストを早期終了する必要がないため、ユニット テストの主な検定となります。前提条件の違反や不適切なテスト設定がないかどうかをテストするには、他の検定タイプを使用します。詳細については、matlab.unittest.qualifications.Verifiable を参照してください。

    • エラーが発生した場合にテスト セッションを中止するには、致命的なアサーション検定を使用してください。これらの検定は、エラー モードがあまりに根本的なものであり、テストを続行する意義がない場合に役立ちます。また、フィクスチャの破棄で MATLAB® の状態が正しく復元されず、テストを中止して新しいセッションを開始する方が望ましい場合にも有益です。詳細については、matlab.unittest.qualifications.FatalAssertable を参照してください。

    • テスト環境がテスト エラーを回避するために必要な前提条件を満たしていることを確認するには、仮定検定を使用してください。仮定エラーが発生するとテストのフィルター処理が行われ、テスト フレームワークによってテストが Incomplete としてマークされます。詳細については、matlab.unittest.qualifications.Assumable を参照してください。

R2013a で導入