기본 사용자 지정 픽스처(Fixture) 생성하기
이 예제에서는 표시 형식을 16진수 표현으로 변경하는 기본 사용자 지정 픽스처를 만드는 방법을 보여줍니다. 또한, 이 픽스처를 사용하여 숫자 열을 텍스트로 표시하는 함수를 테스트하는 방법도 보여줍니다. 테스트가 완료된 후에는 프레임워크가 표시 형식을 테스트 이전 상태로 복원합니다.
FormatHexFixture
클래스 정의 생성하기
작업 폴더의 파일에 matlab.unittest.fixtures.Fixture
클래스에서 상속되는 새 클래스 FormatHexFixture
를 만듭니다. 이 픽스처(Fixture)가 MATLAB® 표시 형식의 테스트 이전 상태를 복원하도록 하기를 바라므로 원래 표시 형식을 기록하는 OriginalFormat
속성을 만드십시오.
classdef FormatHexFixture < matlab.unittest.fixtures.Fixture properties (Access = private) OriginalFormat end end
setup
메서드와 teardown
메서드 구현하기
Fixture
클래스의 서브클래스는 setup
메서드를 구현해야 합니다. 이 메서드를 사용하여 테스트 이전 표시 형식을 기록하고 형식을 'hex'
로 설정하십시오. 원래 표시 형식을 복원하려면 teardown
메서드를 사용하십시오. FormatHexFixture
클래스의 methods
블록에서 setup
메서드와 teardown
메서드를 정의하십시오.
classdef FormatHexFixture < matlab.unittest.fixtures.Fixture properties (Access = private) OriginalFormat end methods function setup(fixture) fixture.OriginalFormat = format; format hex end function teardown(fixture) format(fixture.OriginalFormat) end end end
사용자 지정 픽스처 적용하기
작업 폴더의 파일에서 다음과 같은 테스트 클래스 SampleTest.m
을 만드십시오.
classdef SampleTest < matlab.unittest.TestCase methods (Test) function test1(testCase) testCase.applyFixture(FormatHexFixture) actStr = getColumnForDisplay([1;2;3],'Small Integers'); expStr = ['Small Integers ' '3ff0000000000000' '4000000000000000' '4008000000000000']; testCase.verifyEqual(actStr,expStr) end end end function str = getColumnForDisplay(values,title) elements = cell(numel(values)+1,1); elements{1} = title; for idx = 1:numel(values) elements{idx+1} = displayNumber(values(idx)); end str = char(elements); end function str = displayNumber(n) str = strtrim(evalc('disp(n);')); end
이 테스트는 사용자 지정 픽스처를 적용하고 표시되는 열의 16진수 표현이 예상대로 나타나는지 확인합니다.
명령 프롬프트에서 테스트를 실행합니다.
run(SampleTest);
Running SampleTest . Done SampleTest __________
참고 항목
matlab.unittest.fixtures.Fixture