이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

matlab.unittest.constraints.IssuesNoWarnings 클래스

패키지: matlab.unittest.constraints
슈퍼클래스: matlab.unittest.constraints.Constraint

경고를 발생시키지 않는 함수를 규정하는 제약 조건

생성

outConstObj = IssuesNoWarnings는 테스트 프레임워크가 함수를 불러올 때 경고를 발생시키지 않는 함수를 규정하는 제약 조건 outConstObj를 생성합니다. 이 제약 조건은 테스트 프레임워크가 함수를 불러올 때 경고가 발생하지 않을 경우에 충족됩니다.

outConstObj = IssuesNoWarnings('WhenNargoutIs', numOutputs)는 실제 값이 테스트 프레임워크가 특정 개수의 출력 인수 numOutputs를 사용하여 함수를 불러올 때 경고를 발생시키지 않는 함수 핸들인지 확인할 수 있는 제약 조건을 만듭니다.

입력 인수

numOutputs

함수 핸들을 불러올 때 제약 조건이 요구하는 출력값의 개수로, 음이 아닌 실수형 정수 스칼라로 지정됩니다.

디폴트 값: 0

속성

FunctionOutputs

제공된 함수 핸들을 불러올 때 생성되는 출력 인수로, 셀형 배열로 지정됩니다. 이 속성은 출력 인수에 대한 액세스를 제공합니다. 이 속성은 읽기 전용이며, 함수 핸들을 불러올 때 테스트 프레임워크로 설정합니다. 출력값의 개수는 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')