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

속성

모두 확장

테스트 프레임워크가 함수 핸들을 호출할 때 함수 핸들이 생성한 출력값으로, 셀형 배열로 반환됩니다. 셀형 배열 요소의 개수는 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 함수에 빈 배열을 전달한 경우 이 함수로부터 두 개의 출력값을 요청해도 경고가 발생하지 않는지 확인합니다.

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에 개발됨