Main Content

assertSuccess

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

テスト セッションが失敗なく実行されたことをアサート

R2020a 以降

説明

r = assertSuccess(results) は、results 配列に対応するテストがいずれも失敗しなかったことをアサートします。アサーションがパスした場合、メソッドは rresults を返します。アサーションが失敗した場合、MATLAB® は例外をスローします。

入力引数

すべて展開する

テスト セッションに対応するテスト スイートの実行結果。配列 matlab.unittest.TestResult として指定します。

すべて展開する

一連のテストを実行し、いずれかのテストが失敗した場合に例外をスローします。

現在のフォルダー内に、ExampleTest クラスを含むファイルを作成します。verifySize 検定がテスト エラーの原因です。

classdef ExampleTest < matlab.unittest.TestCase
    methods(Test)
        function testOne(testCase)      % Test fails
            testCase.verifySize([1 2 3; 4 5 6],[2 4])
        end
        function testTwo(testCase)      % Test passes
            testCase.verifyClass(@sin,?function_handle)
        end
        function testThree(testCase)    % Test passes
            testCase.assertEqual(7*2,14)
        end
    end
end

コマンド プロンプトで、ExampleTest 内のテストを実行し、失敗条件が発生しなかったことをアサートします。テストのうち 1 つが失敗したため、MATLAB はエラーをスローします。

results = assertSuccess(runtests('ExampleTest'));
Running ExampleTest

================================================================================
Verification failed in ExampleTest/testOne.
    ---------------------
    Framework Diagnostic:
    ---------------------
    verifySize failed.
    --> The value had an incorrect size.
        
        Actual Size:
             2     3
        Expected Size:
             2     4
    
    Actual Value:
         1     2     3
         4     5     6
    ------------------
    Stack Information:
    ------------------
    In C:\Users\username\Desktop\ExampleTest.m (ExampleTest.testOne) at 4
================================================================================
...
Done ExampleTest
__________

Failure Summary:

     Name                 Failed  Incomplete  Reason(s)
    ==================================================================
     ExampleTest/testOne    X                       Failed by verification.
    
Error using matlab.unittest.internal.BaseTestResult/assertSuccess (line 125)
At least one test failed in the test session.

ヒント

  • assertSuccess を、テストで失敗が発生しないことを確認する検定ステップとして使用します。たとえば、継続的インテグレーション プラットフォーム (Jenkins® など) で自動ビルドを実行するとき、assertSuccess でエラーが発生したらビルドが失敗するように指示することができます。

バージョン履歴

R2020a で導入