Main Content

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

matlab.unittest.qualifications.Verifiable クラス

パッケージ: matlab.unittest.qualifications

ソフト エラー条件を生成する検定

説明

Verifiable クラスは、ソフト エラー条件を生成する検定を提供します。エラーの発生時に実行されるアクションを除いて、Verifiable クラスは他の matlab.unittest 検定と同様に機能します。

検証が失敗すると、Verifiable クラスは、エラーに関連付けられた診断情報をすべて含めて、テスト フレームワークにエラーを通知します。ただし、現在実行中のテストは、MException をスローすることなく続行されます。このクラスは、検証地点のエラーが残りのテスト内容に致命的とならない場合に最も役立ちます。検証は多くの場合、4 フェーズ テストの主要な検証として使用します。前提条件の違反や不適切なテスト セットアップをテストするには、アサーション、致命的なアサーションおよび仮定などの他の検定タイプを使用します。

検証では MException がスローされないため、すべてのテスト内容は検証エラーが発生しても最後まで実行されます。このため、ソフトウェアの部分がテスト スイートの要件をどれほど満たしているかを把握することができます。例外をスローする検定タイプでは、例外がスローされると未到達のコードや未実行のコードが不定量残るため、このような洞察はできません。検証はまた、エラー条件においてより広いテスト カバレッジを提供します。ただし、検証を使用しすぎると、1 つのエラー条件で過剰なノイズが発生することがあります。あるエラー条件により後続の検定地点でもエラーが発生する場合は、代わりにアサーションまたは致命的なアサーションを使用してください。

メソッド

verifyClass指定した値の正確なクラスを検証する
verifyEmpty値が空であることを検証する
verifyEqual値が指定値と等しいことを検証する
verifyError関数が指定された例外をスローしたことを検証する
verifyFail無条件の検証エラーの生成
verifyFalse値が false であることを検証する
verifyGreaterThan値が指定値より大きいことを検証する
verifyGreaterThanOrEqual値が指定値以上であることを検証する
verifyInstanceOf値が指定したタイプのオブジェクトであることを検証する
verifyLength値が指定された長さであることを検証する
verifyLessThan値が指定値より小さいことを検証する
verifyLessThanOrEqual値が指定値以下であることを検証する
verifyMatches文字列が指定された正規表現と一致することを検証する
verifyNotEmpty値が空でないことを検証する
verifyNotEqual値が指定値と等しくないことを検証する
verifyNotSameHandle値が指定されたインスタンスに対するハンドルでないことを検証する
verifyNumElements値が指定された要素数をもつことを検証する
verifyReturnsTrue評価時に関数が true を返すことを検証する
verifySameHandle2 つの値が同じインスタンスに対するハンドルであることを検証する
verifySize値が指定されたサイズであることを検証する
verifySubstring文字列に指定文字列が含まれていることを検証する
verifyThat値が指定された制約を満たしていることを検証する
verifyTrue値が true であることを検証する
verifyWarning関数が指定された警告を表示することを検証する
verifyWarningFree関数が警告を表示しないことを検証する

イベント

VerificationFailed

検証の失敗時にトリガーされます。QualificationEventData オブジェクトがリスナー コールバック関数に渡されます。‎

VerificationPassed

検証の成功時にトリガーされます。QualificationEventData オブジェクトがリスナー コールバック関数に渡されます。

コピーのセマンティクス

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

すべて折りたたむ

検証では、例外をスローせずにエラーを生成して記録します。そのため、現在実行中のテストは最後まで実行されます。この例では、DocPolynom サンプル クラスのオブジェクトの数値演算を検証するテスト ケースを作成します。

DocPolynomTest テスト ケースを作成します。この例の後続の手順である次の DocPolynomTest テスト ケースを参照してください。これはファイル内の特定の関数に焦点を当てています。

 DocPolynomTest クラス定義ファイル

この例の MATLAB® コマンドを実行するには、ファイル DocPolynomTest.m を MATLAB パス上のフォルダーに追加します。

コンストラクターを検証するテストを記述します。verifyClass メソッドを使用して、DocPolynom クラス コンストラクターをテストする関数 testConstructor を作成します。

function testConstructor(testCase)
    p = DocPolynom([1, 0, 1]);
    testCase.verifyClass(p, ?DocPolynom)
end

演算を検証するテストを記述します。関数 testAddition で、verifyEqual メソッドを使用して、方程式 (x^2 + 1) + (5*x + 2) = x^2 + 5*x + 3 をテストします。この verifyEqual メソッドでは、引数 diagnostic にこの方程式が含まれます。

function testAddition(testCase)
    p1 = DocPolynom([1, 0, 1]);
    p2 = DocPolynom([5, 2]);
    
    actual = p1 + p2;
    expected = DocPolynom([1, 5, 3]);
    
    msg = [testCase.msgEqn,...
        '(x^2 + 1) + (5*x + 2) = x^2 + 5*x + 3'];
    testCase.verifyEqual(actual, expected, msg)
end

関数 testMultiplication は乗算をテストします。

DocPolynomTest テスト ケースのテストを実行します。

tc = DocPolynomTest;
ts = matlab.unittest.TestSuite.fromClass(?DocPolynomTest);
res = run(ts);
Running DocPolynomTest
...
Done DocPolynomTest
__________

すべてのテストがパスしました。

R2013a で導入