Main Content

matlab.unittest.fixtures.SuppressedWarningsFixture 클래스

네임스페이스: matlab.unittest.fixtures
슈퍼클래스: matlab.unittest.fixtures.Fixture

경고 표시를 차단하는 픽스처

설명

matlab.unittest.fixtures.SuppressedWarningsFixture 클래스는 경고 표시를 차단하는 픽스처를 제공합니다. 테스트 프레임워크가 픽스처를 설정하면 픽스처는 지정된 경고의 표시를 차단합니다. 프레임워크가 픽스처를 해제하면 픽스처는 경고 상태를 원래 값으로 복원합니다.

matlab.unittest.fixtures.SuppressedWarningsFixture 클래스는 handle 클래스입니다.

생성

설명

예제

fixture = matlab.unittest.fixtures.SuppressedWarningsFixture(warnings)는 지정된 경고의 표시를 차단하는 픽스처를 만들고 Warnings 속성을 설정합니다.

속성

모두 확장

표시를 차단할 경고의 식별자로, 문자형 벡터로 구성된 셀형 배열로 반환됩니다. 픽스처를 생성할 때 이 속성의 값을 string형 배열, 문자형 벡터, 또는 문자형 벡터로 구성된 셀형 배열로 지정합니다.

예: {'MATLAB:MKDIR:DirectoryExists'}

예: {'MyComponent:FirstID','MyComponent:SecondID'}

특성:

GetAccess
public
SetAccess
private

예제

모두 축소

테스트 케이스에 SuppressedWarningsFixture 인스턴스를 사용하여 테스트를 실행하는 동안 경고 표시를 차단할 수 있습니다. 예를 들어, 검색 경로에 없는 폴더를 제거하려 할 때 표시되는 경고를 차단할 수 있습니다.

rmpath 명령을 사용하여 경로에 존재하지 않는 폴더를 제거하려 하면 경고가 표시됩니다.

rmpath nonexistentFolder
Warning: "nonexistentFolder" not found in path.

rmpath 명령에서 내보낸 경고의 식별자를 반환합니다.

[~,identifier] = lastwarn
identifier =

    'MATLAB:rmpath:DirNotFound'

현재 폴더에 있는 SuppressedWarningTest.m 파일에서, rmpath에 대한 호출이 아무런 경고 없이 실행되는지 확인하는 테스트 클래스를 만듭니다. 테스트가 통과하도록 하기 위해, 테스트에서 applyFixture 메서드를 호출합니다.

classdef SuppressedWarningTest < matlab.unittest.TestCase
    methods (Test)
        function testWarningFree(testCase)
            import matlab.unittest.fixtures.SuppressedWarningsFixture
            testCase.applyFixture( ...
                SuppressedWarningsFixture("MATLAB:rmpath:DirNotFound"))
            testCase.verifyWarningFree(@() rmpath("nonexistentFolder"))
        end
    end
end

테스트 클래스를 실행합니다. Test 메서드가 함수 핸들을 호출하면 픽스처가 지정된 경고의 표시를 차단합니다. 테스트가 통과합니다.

runtests("SuppressedWarningTest");
Running SuppressedWarningTest
.
Done SuppressedWarningTest
__________

테스트 실행이 완료되면 테스트 프레임워크가 픽스처를 해제하고 환경이 원래 상태로 돌아갑니다. 따라서 존재하지 않는 폴더를 지정하여 rmpath를 새로 호출하면 경고가 발생합니다.

rmpath nonexistentFolder
Warning: "nonexistentFolder" not found in path.

버전 내역

R2013b에 개발됨