Main Content

verifyLessThan

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

値が指定値より小さいことを検証する

説明

verifyLessThan(testCase,actual,ceiling) は、actual のすべての要素が ceiling のすべての要素より小さいことを検証します。

verifyLessThan(testCase,actual,ceiling,diagnostic) は、さらに diagnostic の診断情報を検定に関連付けます。

入力引数

すべて展開する

テスト ケース。matlab.unittest.qualifications.Verifiable オブジェクトとして指定します。matlab.unittest.TestCase クラスは matlab.unittest.qualifications.Verifiable をサブクラス化してそのメソッドを継承するため、testCase は通常 matlab.unittest.TestCase オブジェクトです。

テストする値。数値配列として指定します。actualceiling は、同じサイズであるか、互換性のあるサイズでなければなりません。互換性のある配列の詳細については、基本的な演算で互換性のある配列サイズを参照してください。

最大値。数値配列として指定します。actualceiling は、同じサイズであるか、互換性のあるサイズでなければなりません。互換性のある配列の詳細については、基本的な演算で互換性のある配列サイズを参照してください。

検定にパスしたときか失敗したときに表示する診断情報。string 配列、文字配列、関数ハンドル、または matlab.automation.diagnostics.Diagnostic オブジェクトの配列として指定します。

テスト ランナーの構成に応じて、テスト フレームワークは検定にパスしたときまたは失敗したときに診断を表示できます。既定では、フレームワークは検定に失敗したときにのみ診断を表示します。この既定の動作はテスト ランナーをカスタマイズしてオーバーライドできます。たとえば、失敗したイベントとパスしたイベントの両方の診断を表示するには、DiagnosticsOutputPlugin インスタンスを使用します。

例: "My Custom Diagnostic"

例: @dir

属性

Sealedtrue

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

すべて展開する

対話型テスト用にテスト ケースを作成します。

testCase = matlab.unittest.TestCase.forInteractiveUse;

23 より小さいことを検証します。

verifyLessThan(testCase,2,3)
Verification passed.

95 より小さいかテストします。テストは失敗します。

verifyLessThan(testCase,9,5)
Verification failed.
    ---------------------
    Framework Diagnostic:
    ---------------------
    verifyLessThan failed.
    --> The value must be less than the maximum value.
    
    Actual Value:
         9
    Maximum Value (Exclusive):
         5
    ------------------
    Stack Information:
    ------------------
    In C:\work\CompareTwoNumbersExample.m (CompareTwoNumbersExample) at 16

対話型テスト用にテスト ケースを作成します。

testCase = matlab.unittest.TestCase.forInteractiveUse;

ベクトル [5 6 7] の各要素が正方向の丸め値 9 より小さいかテストします。

verifyLessThan(testCase,[5 6 7],9)
Verification passed.

2 が正方向の丸めベクトル [5 6 7] の各要素より小さいかテストします。

verifyLessThan(testCase,2,[5 6 7])
Verification passed.

行列 [1 2 3; 4 5 6] の各要素が正方向の丸め値 4 より小さいかテストします。テストは失敗します。

verifyLessThan(testCase,[1 2 3; 4 5 6],4, ...
    "All elements must be less than the ceiling value.")
Verification failed.
    ----------------
    Test Diagnostic:
    ----------------
    All elements must be less than the ceiling value.
    ---------------------
    Framework Diagnostic:
    ---------------------
    verifyLessThan failed.
    --> Each element must be less than the maximum value.
        
        Failing Indices:
             2     4     6
    
    Actual Value:
         1     2     3
         4     5     6
    Maximum Value (Exclusive):
         4
    ------------------
    Stack Information:
    ------------------
    In C:\work\CompareArrayToScalarExample.m (CompareArrayToScalarExample) at 22

対話型テスト用にテスト ケースを作成します。

testCase = matlab.unittest.TestCase.forInteractiveUse;

配列 [5 -3 2] の各要素が正方向の丸め配列 [7 -1 8] の対応する各要素より小さいかテストします。

verifyLessThan(testCase,[5 -3 2],[7 -1 8])
Verification passed.

配列を配列自体と比較します。テストは失敗します。

verifyLessThan(testCase,eye(2),eye(2))
Verification failed.
    ---------------------
    Framework Diagnostic:
    ---------------------
    verifyLessThan failed.
    --> Each element must be less than each corresponding element of the maximum value array.
        
        Failing Indices:
             1     2     3     4
    
    Actual Value:
         1     0
         0     1
    Maximum Value (Exclusive):
         1     0
         0     1
    ------------------
    Stack Information:
    ------------------
    In C:\work\CompareArraysExample.m (CompareArraysExample) at 17

ヒント

  • verifyLessThan は便利なメソッドです。たとえば、verifyLessThan(testCase,actual,ceiling) は、以下のコードと機能的に等価です。

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

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

    • エラー条件によって現在のテスト内容の残りが無効になっても、それ以降のテストは正しく実行される場合、アサーション検定を使用してください。アサーション地点におけるエラーによって、現在のテストが Failed および Incomplete となります。詳細については、matlab.unittest.qualifications.Assertable を参照してください。

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

バージョン履歴

R2013a で導入