matlab.unittest.fixtures.PathFixture class

Пакет: matlab.unittest.fixtures

Фиксатор для временного добавления папок в путь MATLAB

Описание

The PathFixture класс предоставляет фиксатор для временного добавления папок в MATLAB® путь. Когда среда тестирования настраивает фиксатор, она добавляет указанные папки к пути. Когда среда разрывает фиксатор, она восстанавливает путь MATLAB до своего предыдущего состояния.

Конструкция

matlab.unittest.fixtures.PathFixture(folders) создает фиксатор для временного добавления папок в путь MATLAB.

matlab.unittest.fixtures.PathFixture(folders,Name,Value) создает фиксатор с дополнительными опциями, заданными одним или несколькими аргументами пары "имя-значение". Для примера, matlab.unittest.fixtures.PathFixture('myFolder','IncludingSubfolders',true) создает фиксатор, которое добавляет myFolder и все его подпапки в путь.

Входные параметры

расширить все

Папки для добавления к пути MATLAB, заданные как строковые массивы, вектор символов или массив ячеек из векторов символов. Если какая-либо из указанных папок не существует, MATLAB выдает ошибку.

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Индикатор для включения подпапок folders на пути, заданном как false или true (логический 0 или 1). Это значение false по умолчанию. Если вы задаете trueсреда тестирования включает подпапки folders на пути. Пакет, класс и частные папки не добавляются в путь, даже когда этот аргумент true.

Где добавить папки, заданные как 'begin' или 'end'. Значение по умолчанию 'begin', что добавляет folders в начало ( верхнюю часть) пути.

Если вы используете этот аргумент с IncludingSubfolders, фиксатор добавляет папки и их подпапки в верхнюю или нижнюю часть пути как один блок с folders на верхнюю часть.

Свойства

Folders

Папки для добавления к пути MATLAB, заданные как строковые массивы. Это свойство доступно только для чтения и соответствует folders входной параметр.

IncludeSubfolders

Индикатор для включения подпапок folders на пути, заданном как false или true (логический 0 или 1). Это свойство доступно только для чтения. Это false по умолчанию, но вы можете задать его следующим true во время конструкции.

Position

Куда добавить папки, заданные как 'begin' или 'end'. Это свойство доступно только для чтения. Это 'begin' по умолчанию, но вы можете задать его следующим 'end' во время конструкции.

Копировать семантику

Указатель. Чтобы узнать, как классы handle влияют на операции копирования, см. раздел «Копирование объектов».

Примеры

свернуть все

Временно добавьте две папки в путь поиска файлов MATLAB с помощью фиксатора.

Этот пример принимает, что folderA и folderB существует в текущей папке. Создайте папки, если они не существуют.

if ~isfolder('folderA')
    mkdir folderA
end
if ~isfolder('folderB')
    mkdir folderB
end

В текущей папке создайте PathFixtureTest класс. Класс добавляет folderA и folderB к пути с помощью PathFixture образец. Затем он утверждает, что путь содержит имена папок.

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

Запустите тест. Потому что оба folderA и folderB находятся на пути, тест проходит.

runtests('PathFixtureTest')
Running PathFixtureTest
.
Done PathFixtureTest
__________
ans = 
  TestResult with properties:

          Name: 'PathFixtureTest/test1'
        Passed: 1
        Failed: 0
    Incomplete: 0
      Duration: 0.4069
       Details: [1×1 struct]

Totals:
   1 Passed, 0 Failed, 0 Incomplete.
   0.40688 seconds testing time.

После тестовых запусков среда восстанавливает путь к своему предыдущему состоянию.

В текущей папке создайте SharedAddPathFixtureTest класс. Этот пример принимает, что подпапка helperFiles существует в текущей папке.

classdef (SharedTestFixtures = { ...
        matlab.unittest.fixtures.PathFixture('helperFiles')}) ...
        SharedAddPathFixtureTest < matlab.unittest.TestCase
    methods(Test)
        function test1(testCase)
            f = testCase.getSharedTestFixtures;
            disp("Added to path: " + f.Folders)
        end
    end
end

В командной строке запустите тест.

run(SharedAddPathFixtureTest);
Setting up PathFixture
Done setting up PathFixture: Added 'H:\Documents\doc_examples\helperFiles' to the path.
__________

Running SharedAddPathFixtureTest
Added to path: H:\Documents\doc_examples\helperFiles
.
Done SharedAddPathFixtureTest
__________

Tearing down PathFixture
Done tearing down PathFixture: Restored the path to its original state.
__________

После тестовых запусков среда восстанавливает путь к своему предыдущему состоянию.