Main Content

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

matlab.unittest.constraints.IssuesNoWarnings クラス

パッケージ: matlab.unittest.constraints
スーパークラス: matlab.unittest.constraints.Constraint

警告を発行しない関数を指定する制約

構築

outConstObj = IssuesNoWarnings は、テスト フレームワークが関数を呼び出すときにその関数が警告を発行しないことを指定する制約 outConstObj を作成します。この制約は、テスト フレームワークが関数を呼び出したときに警告が発行されない場合に満たされます。

outConstObj = IssuesNoWarnings('WhenNargoutIs', numOutputs) は、実際の値が、テスト フレームワークで特定数の出力引数 numOutputs を指定して呼び出す際に警告を発行しない関数ハンドルであるかどうかを判別できる制約を作成します。

入力引数

numOutputs

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

既定値: 0

プロパティ

FunctionOutputs

指定した関数ハンドルを呼び出したときに生成される出力引数。cell 配列として指定します。このプロパティは出力引数へのアクセスを提供します。これは読み取り専用で、テスト フレームワークが関数ハンドルを呼び出す際に設定します。出力数は、Nargout プロパティによって決定されます。

Nargout

関数を実行するときにインスタンスが使用する出力引数の数。このプロパティは、入力引数 numOutputs を介してコンストラクターで設定します。

コピーのセマンティクス

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

すべて折りたたむ

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

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

testCase = TestCase.forInteractiveUse;

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

testCase.verifyThat(@true, IssuesNoWarnings)
Interactive verification passed.

空の配列を指定した size の呼び出しで警告が発生しないことを検証します。出力引数を調べます。

issuesNoWarningsConstraint = IssuesNoWarnings('WhenNargoutIs', 2);
testCase.verifyThat(@() size([]), issuesNoWarningsConstraint)
[actualOut1, actualOut2] = issuesNoWarningsConstraint.FunctionOutputs{:};
Interactive verification passed.

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

testCase.verifyThat(5, IssuesNoWarnings)
Interactive 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:id', 'Message'), IssuesNoWarnings)
Warning: Message 
> In @()warning('some:id','Message')
  In matlab.unittest.internal.constraints.FunctionHandleConstraint/invoke (line 36)
  In matlab.unittest.internal.constraints.WarningQualificationConstraint/invoke (line 39)
  In matlab.unittest.constraints.IssuesNoWarnings/issuesNoWarnings (line 140)
  In matlab.unittest.constraints.IssuesNoWarnings/satisfiedBy (line 90)
  In matlab.unittest.internal.qualifications.QualificationDelegate/qualifyThat (line 62)
  In matlab.unittest.qualifications.Verifiable/verifyThat (line 228) 
Interactive verification failed.

---------------------
Framework Diagnostic:
---------------------
IssuesNoWarnings failed.
--> The function issued warnings.
    
    Warnings Issued:
        --> 'some:id'
                Message

Evaluated Function:
        @()warning('some:id','Message')