Main Content

matlab.unittest.constraints.IssuesNoWarnings クラス

名前空間: matlab.unittest.constraints
スーパークラス: matlab.unittest.constraints.Constraint

関数が警告を発行しないかどうかをテストする

説明

matlab.unittest.constraints.IssuesNoWarnings クラスは、関数ハンドルが警告を発行しないかどうかをテストする制約を提供します。

matlab.unittest.constraints.IssuesNoWarnings クラスは handle クラスです。

作成

説明

c = matlab.unittest.constraints.IssuesNoWarnings は、関数ハンドルが警告を発行しないかどうかをテストする制約を作成します。実際の値が、テスト フレームワークによって呼び出されたときに警告を発行しない関数ハンドルであった場合に、制約は満たされます。

c = matlab.unittest.constraints.IssuesNoWarnings("WhenNargoutIs",numOutputs) は、関数ハンドルに要求する出力の数も指定します。この構文を使用すると、関数ハンドルが警告を発行せずに指定した数の出力を生成した場合に、制約は満たされます。

入力引数

すべて展開する

関数ハンドルを呼び出すときに制約が要求する出力数。非負の整数スカラーとして指定します。

この引数は Nargout プロパティを設定します。

データ型: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

プロパティ

すべて展開する

テスト フレームワークによって呼び出されたときに関数ハンドルが生成した出力。cell 配列として返されます。cell 配列の要素数は numOutputs と同じです。

属性:

GetAccess
public
SetAccess
private

関数ハンドルを呼び出すときに制約が要求した出力数。非負の整数スカラーとして返されます。

このプロパティは入力引数 numOutputs によって設定されます。

属性:

GetAccess
public
SetAccess
private

すべて折りたたむ

実際の値が、警告を発行しない関数ハンドルであるかをテストします。

最初に、この例で使用するクラスをインポートします。

import matlab.unittest.TestCase
import matlab.unittest.constraints.IssuesNoWarnings

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

testCase = TestCase.forInteractiveUse;

関数 true の呼び出しで警告が発生しないことを検証します。

testCase.verifyThat(@true,IssuesNoWarnings)
Verification passed.

関数 size に空の配列を渡して 2 つの出力を要求した場合に警告が発生しないことを検証します。

constraint = IssuesNoWarnings("WhenNargoutIs",2);
testCase.verifyThat(@() size([]),constraint)
Verification passed.

前のテストで関数ハンドルによって生成された出力を検査します。

[out1,out2] = constraint.FunctionOutputs{:}
out1 =

     0


out2 =

     0

実際の値が関数ハンドルでない場合、IssuesNoWarnings 制約が満たされないことを検証します。

testCase.verifyThat(5,IssuesNoWarnings)
Verification failed.
    ---------------------
    Framework Diagnostic:
    ---------------------
    IssuesNoWarnings failed.
    --> The value must be an instance of the expected type.
        
        Actual Class:
            double
        Expected Type:
            function_handle
    
    Actual Value:
         5

実際の値により警告が発生した場合に制約が満たされるかどうかをテストします。テストは失敗します。

testCase.verifyThat(@() warning("SOME:warning:id","Warning!"), ...
    IssuesNoWarnings)
Warning: Warning! 
> In @()warning("SOME:warning:id","Warning!")
In matlab.unittest.internal.constraints/FunctionHandleConstraint/invoke (line 35)
In matlab.unittest.internal.constraints/WarningQualificationConstraint/invoke (line 43)
In matlab.unittest.constraints/IssuesNoWarnings/issuesNoWarnings (line 141)
In matlab.unittest.constraints/IssuesNoWarnings/satisfiedBy (line 84) 
Verification failed.
    ---------------------
    Framework Diagnostic:
    ---------------------
    IssuesNoWarnings failed.
    --> The function issued warnings.
        
        Warnings Issued:
            --> Identifier: "SOME:warning:id"
                   Message: Warning!
    
    Evaluated Function:
      function_handle with value:
    
        @()warning("SOME:warning:id","Warning!")

バージョン履歴

R2013a で導入