matlab.unittest.fixtures.PathFixture class

Пакет: matlab.unittest.fixtures

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

Описание

PathFixture класс обеспечивает фиксатор для того, чтобы временно добавить папки в MATLAB® path. Когда среда тестирования настраивает фиксатор, она добавляет заданные папки в путь. Когда среда разъединяет фиксатор, она восстанавливает путь 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' во время конструкции.

Примеры

свернуть все

Временно добавьте две папки в путь поиска файлов 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.
__________

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