Main Content

addTeardown

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

픽스처에 해제 코드 동적 추가

설명

addTeardown(fixture,teardownFcn)은 픽스처에 해제 코드 teardownFcn을 등록합니다. 테스트 프레임워크가 픽스처를 해제할 때 해제 코드를 동적으로 실행하려면 Fixture 서브클래스의 setup 메서드 내에서 addTeardown을 호출하십시오.

이 메서드는 환경을 복원할 때 LIFO(Last-In, First-Out) 정책을 적용하여 설정 동작의 역순으로 해제 동작이 실행되도록 합니다. 테스트 콘텐츠에서 예외가 발생하지 않게 하려면 addTeardown을 사용하십시오.

예제

addTeardown(fixture,teardownFcn,input1,...,inputN)은 픽스처 해제에 대해 teardownFcn이 호출되는 입력 인수도 지정합니다.

입력 인수

모두 확장

픽스처로, matlab.unittest.fixtures.Fixture 객체로 지정됩니다.

해제 코드로, 함수 핸들로 지정됩니다.

예: addTeardown(fixture,@() format(originalFormat))

픽스처 해제에 대해 함수 핸들 teardownFcn이 호출되는 입력 인수로, 쉼표로 구분된 값 목록으로 지정됩니다.

예: addTeardown(fixture,@close,fig)

예: addTeardown(fixture,@setenv,"UserName",originalUserName)

특성

Sealedtrue

메서드의 특성에 대해 자세히 알아보려면 메서드 특성을 참조하십시오.

예제

모두 확장

숫자형 값의 출력 표시 형식을 소수점 이하 2자릿수의 통화 형식으로 변경하는 사용자 지정 픽스처를 만들어 사용합니다.

현재 폴더의 CurrencyFormatFixture.m 파일에서, matlab.unittest.fixtures.Fixture 인터페이스를 서브클래스화하여 CurrencyFormatFixture 클래스를 만듭니다. 이 클래스에서 setup 메서드를 구현하여 픽스처가 숫자형 값의 표시 형식을 통화 형식으로 변경하도록 합니다. 테스트 후 표시 형식이 원래 상태로 복원되도록 setup 메서드 내에서 addTeardown 메서드를 호출합니다.

classdef CurrencyFormatFixture < matlab.unittest.fixtures.Fixture
    methods
        function setup(fixture)
            originalFormat = format;
            fixture.addTeardown(@format,originalFormat)
            format bank
        end
    end
end

현재 폴더의 ExampleTest.m 파일에서, 사용자 지정 픽스처를 적용하고 숫자형 값이 예상 형식으로 표시되는지 확인하는 ExampleTest 클래스를 만듭니다. 이 예제를 단순화하기 위해 실제 값은 formattedDisplayText 함수의 호출로 생성됩니다. 실제 상황에서는 사용자가 정의한 코드를 테스트합니다.

classdef ExampleTest < matlab.unittest.TestCase
    methods (Test)
        function formatTest(testCase)
            testCase.applyFixture(CurrencyFormatFixture)
            actual = strtrim(formattedDisplayText(pi));
            expected = "3.14";
            testCase.verifyEqual(actual,expected)
        end
    end
end

ExampleTest 클래스를 실행합니다. 테스트 프레임워크가 픽스처를 설정하여 표시 형식을 통화 형식으로 변경합니다. 테스트 실행이 완료되면 프레임워크가 픽스처를 해제하여 원래 표시 형식이 복원됩니다. 이 예제에서 테스트가 통과합니다.

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

대안

setup 메서드 내에서 addTeardown 메서드를 호출하여 해제 코드를 지정하는 대신 teardown 메서드를 구현할 수 있습니다.

버전 내역

R2014a에 개발됨