matlab.unittest.fixtures. Класс WorkingFolderFixture

Пакет: matlab.unittest.fixtures

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

Описание

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

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

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

Конструкция

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

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

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

развернуть все

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

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Имя должно появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

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

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

Типы данных: логический

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

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

Свойства

развернуть все

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

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

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

Примеры

свернуть все

Создайте следующее определение класса 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

Была ли эта тема полезной?