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) は、1 つ以上の名前と値の引数を使用して追加のオプションを設定します。たとえば、fixture = matlab.unittest.fixtures.PathFixture("myFolder","IncludingSubfolders",true) は、myFolder とそのすべてのサブフォルダーをパスに追加するフィクスチャを作成します。

入力引数

すべて展開する

パスに追加するフォルダー。string 配列、文字ベクトル、または文字ベクトルの cell 配列として指定します。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 のサブフォルダーを含めるかどうか。数値または logical 0 (false) または 1 (true) として指定します。既定では、フィクスチャはパス上に folders のサブフォルダーを含めません。

クラス、名前空間、private、および resources サブフォルダーは、値が true の場合でもパス上に含めることはできません。

この引数は IncludeSubfolders プロパティを設定します。

フォルダーを追加するパス上の位置。"begin" または "end" として指定します。既定では、フィクスチャは folders をパスの先頭 (最上部) に追加します。値を "end" と指定すると、フィクスチャは folders をパスの末尾 (最下部) に追加します。

この引数を IncludingSubfolders と共に指定した場合、フィクスチャは指定されたフォルダーとそのサブフォルダーを単一のブロックとしてパスの最上部または最下部に追加します。

この引数は Position プロパティを設定します。

プロパティ

すべて展開する

パスに追加するフォルダーの絶対パス。string 配列として返されます。

このプロパティは入力引数 folders によって設定されます。

属性:

GetAccess
public
SetAccess
private

パス上にサブフォルダーを含めるかどうか。logical 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 で導入