matlab.unittest.fixtures.WorkingFolderFixture class

Пакет: matlab.unittest.fixtures

Фиксатор для создания и изменения на временную рабочую папку

Описание

The matlab.unittest.fixtures.WorkingFolderFixture создает временную папку и устанавливает ее в качестве текущей рабочей папки. Тестирование или тестируемый продукт могут создавать файлы и изменять содержимое папки, не влияя на структуру исходного кода или тестовой папки.

Когда среда тестирования настраивает фиксатор, она добавляет текущую папку к пути. Затем фиксатор создаёт временную папку и изменяет текущую рабочую папку на временную. Когда среда тестирования разрывает фиксатор, по умолчанию она удаляет временную папку и все содержимое папки. Среда тестирования восстанавливает текущую рабочую папку до ее предыдущего состояния.

Оба WorkingFolderFixture и TemporaryFolderFixture фиксаторы создают временную папку. Однако WorkingFolderFixture также устанавливает папку в качестве текущей рабочей папки.

Конструкция

matlab.unittest.fixtures.WorkingFolderFixture создает фиксатор для создания и изменения во временную рабочую папку.

matlab.unittest.fixtures.WorkingFolderFixture(Name,Value) создает фиксатор с дополнительными опциями, заданными одним или несколькими Name,Value аргументы в виде пар. Для примера, matlab.unittest.fixtures.WorkingFolderFixture('PreservingOnFailure',true) создает фиксатор, которое не удаляет временную папку в случае ошибки.

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

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

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

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

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

Если вы задаете 'PreservingOnFailure' как true а тест с использованием фиксатора сталкивается с отказом, среда тестирования отображает сообщение в Командном окне и не удаляет папку. Отказы включают верификацию, проверку типа «fatal assertion» или отказы типа «критическое утверждение», а также незакрытые ошибки в тестах, которые используют фиксатор. Сохранение временной папки и ее содержимого может помочь в расследовании причины непройденного теста.

Типы данных: logical

Суффикс для временного имени папки, заданный как вектор символов. Значение этого параметра добавляется к имени временной папки.

Пример: WorkingFolderFixture('WithSuffix','_ProductA')

Свойства

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

Абсолютный путь к папке, созданной фиксатор, заданный как вектор символов.

Индикатор для сохранения временной папки и ее содержимого в случае непройденного теста, указанный как false или true. Установите это свойство через конструктор через аргумент пары "имя-значение" 'PreservingOnFailure'.

Суффикс для имени временной папки, заданный как вектор символов. Установите это свойство через конструктор через аргумент пары "имя-значение" 'WithSuffix'.

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

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

Примеры

свернуть все

Создайте следующую ExampleTest определение класса в MATLAB® путь.

classdef ExampleTest < matlab.unittest.TestCase
    methods(Test)
        function test1(testCase)
            import matlab.unittest.fixtures.WorkingFolderFixture;
            
            testCase.applyFixture(WorkingFolderFixture);
            
            x = 1:10;
            
            % Save a file in the temporary folder
            save('data.mat','x');
            
            disp(['The temporary working folder: ' pwd])
            ls
        end
    end
end

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

run(ExampleTest);
Running ExampleTest
The temporary working folder: C:\AppData\Local\Temp\tp6ff2cadf_9eed_4e90_88c1_5ff9ee8abb25

.         ..        data.mat  

.
Done ExampleTest
__________

Имя временной папки изменяется.

Создайте следующую ExampleTest2 определение класса в пути MATLAB.

classdef ExampleTest2 < matlab.unittest.TestCase
    methods(Test)
        function test1(testCase)
            import matlab.unittest.fixtures.WorkingFolderFixture;
            
            f = WorkingFolderFixture('WithSuffix','_ProductA');
            testCase.applyFixture(f);
            
            x = 1:10;
            
            % Save a file in the temporary folder
            save('data.mat','x');
            
            disp(['The temporary working folder: ' pwd])
            ls
        end
    end
end

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

run(ExampleTest2);
Running ExampleTest2
The temporary working folder: C:\AppData\Local\Temp\tp72c6ce7c_a380_4f5e_be3b_4f7191a6cd2c_ProductA

.         ..        data.mat  

.
Done ExampleTest2
__________

Имя временной папки изменяется, но заканчивается на _ProductA.

Введенный в R2016a