Main Content

matlab.unittest.fixtures.PathFixture 클래스

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

폴더를 MATLAB 경로에 추가하는 픽스처

설명

matlab.unittest.fixtures.PathFixture 클래스는 폴더를 MATLAB® 경로에 추가하는 픽스처를 제공합니다. 테스트 프레임워크가 픽스처를 설정하면 픽스처는 지정된 폴더를 경로에 추가합니다. 프레임워크가 픽스처를 해제하면 픽스처가 경로를 원래 상태로 복원합니다.

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

생성

설명

예제

fixture = matlab.unittest.fixtures.PathFixture(folders)는 지정된 폴더를 경로에 추가하는 픽스처를 만듭니다.

fixture = matlab.unittest.fixtures.PathFixture(folders,Name,Value)는 하나 이상의 이름-값 인수를 사용하여 옵션을 추가로 설정합니다. 예를 들어, fixture = matlab.unittest.fixtures.PathFixture("myFolder","IncludingSubfolders",true)myFolder와 그 하위 폴더 전부를 경로에 추가하는 픽스처를 만듭니다.

입력 인수

모두 확장

경로에 추가할 폴더로, string형 배열, 문자형 벡터 또는 문자형 벡터로 구성된 셀형 배열로 지정됩니다. 상대 경로로 folders의 폴더를 지정할 수 있지만 상대 경로는 현재 폴더에 있어야 합니다. 그렇지 않으면 전체 경로를 사용하여 폴더를 지정해야 합니다. 지정된 폴더가 존재하지 않으면 MATLAB에서 오류가 발생합니다.

이 인수는 Folders 속성을 설정합니다.

이름-값 인수

선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN으로 지정합니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.

예: fixture = matlab.unittest.fixtures.PathFixture("myFolder",IncludingSubfolders=true)

R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name을 따옴표로 묶으십시오.

예: fixture = matlab.unittest.fixtures.PathFixture("myFolder","IncludingSubfolders",true)

경로에 folders의 하위 폴더를 포함할지 여부로, 숫자형 또는 논리값 0(false) 또는 1(true)로 지정됩니다. 기본적으로 픽스처는 경로에 folders의 하위 폴더를 포함하지 않습니다.

클래스, 네임스페이스, private, resources 하위 폴더는 값이 true일 때도 경로에 포함될 수 없습니다.

이 인수는 IncludeSubfolders 속성을 설정합니다.

경로에서 폴더를 추가할 위치로, "begin"이나 "end"로 지정됩니다. 기본적으로 픽스처는 folders를 경로의 시작 부분(맨 위)에 추가합니다. 값을 "end"로 지정하는 경우 픽스처는 경로의 끝(맨 아래)에 folders를 추가합니다.

이 인수를 IncludingSubfolders와 함께 지정하는 경우 픽스처는 지정된 폴더와 그 하위 폴더를 단일 블록으로 경로의 맨 위나 맨 아래에 추가합니다.

이 인수는 Position 속성을 설정합니다.

속성

모두 확장

경로에 추가할 폴더의 전체 경로로, string형 배열로 반환됩니다.

이 속성은 folders 입력 인수에 의해 설정됩니다.

특성:

GetAccess
public
SetAccess
private

경로에 하위 폴더를 포함할지 여부로, 논리값 0(false) 또는 1(true)로 반환됩니다. 기본적으로 픽스처는 경로에 하위 폴더를 포함하지 않습니다.

이 속성은 IncludingSubfolders 이름-값 인수에 의해 설정됩니다.

특성:

GetAccess
public
SetAccess
immutable

경로에서 폴더를 추가할 위치로, 'begin'이나 'end'로 반환됩니다. 기본적으로 픽스처는 폴더를 경로의 맨 위에 추가합니다.

이 속성은 Position 이름-값 인수에 의해 설정됩니다.

특성:

GetAccess
public
SetAccess
immutable

예제

모두 축소

PathFixture 인스턴스를 사용하여 테스트용 경로에 폴더를 임시로 추가합니다.

이 예제에서는 folderAfolderB가 현재 폴더에 존재한다고 가정합니다. 폴더가 존재하지 않으면 새로 생성합니다.

[~,~] = mkdir("folderA")
[~,~] = mkdir("folderB")

현재 폴더에 있는 PathFixtureTest.m이라는 파일에서 PathFixtureTest 클래스를 만듭니다. 이 테스트는 PathFixture 인스턴스를 사용하여 folderAfolderB를 경로에 추가합니다. 그런 다음, 경로에 폴더 이름이 포함되어 있는지 확인합니다.

classdef PathFixtureTest < matlab.unittest.TestCase
    methods (Test)
        function testPath(testCase)
            import matlab.unittest.fixtures.PathFixture
            import matlab.unittest.constraints.ContainsSubstring
            f = testCase.applyFixture(PathFixture(["folderA" "folderB"]));
            testCase.verifyThat(path,ContainsSubstring(f.Folders(1)))
            testCase.verifyThat(path,ContainsSubstring(f.Folders(2)))
        end
    end
end

테스트를 실행합니다. folderAfolderB가 모두 경로에 있으므로 테스트는 통과합니다. 테스트 후 프레임워크가 픽스처를 해제하고 경로가 이전 상태로 복원됩니다.

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

버전 내역

R2013b에 개발됨

참고 항목

|

도움말 항목