exponenta event banner

matlab.unittest.fixtures.Временный класс FolderFixture

Пакет: matlab.unittest.fixtures

Приспособление для создания временной папки

Описание

matlab.unittest.fixtures.TemporaryFolderFixture обеспечивает приспособление для создания временной папки. Когда структура тестирования настраивает приспособление, она создает временную папку. При разрыве приспособления он удаляет папку и все ее содержимое. Перед удалением папки прибор очищает из памяти определения всех файлов MATLAB, P-файлов и MEX-файлов, определенных во временной папке.

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

Строительство

matlab.unittest.fixtures.TemporaryFolderFixture создает приспособление для создания временной папки.

matlab.unittest.fixtures.TemporaryFolderFixture(Name,Value) создает приспособление для создания временной папки с дополнительными опциями, заданными одним или несколькими Name,Value аргументы пары.

Входные аргументы

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

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

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

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

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

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

Свойства

Folder

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

PreserveOnFailure

Индикатор сохранения временной папки и ее содержимого в случае сбоя теста. Это свойство имеет значение logical(0) или logical(1). Это logical(0) по умолчанию, но имеет значение logical(1) если 'PreservingOnFailure' для входного значения установлено значение true во время строительства крепления.

Suffix

Суффикс, используемый для временной папки, указанный как символьный вектор в Name,Value парный аргумент, 'WithSuffix'.

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

Ручка. Сведения о том, как классы обработки влияют на операции копирования, см. в разделе Копирование объектов.

Примеры

свернуть все

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

classdef tempFolderFixtureTest < matlab.unittest.TestCase
    methods(Test)
        function test1(testCase)
            import matlab.unittest.fixtures.TemporaryFolderFixture
            
            tempFixture = testCase.applyFixture(TemporaryFolderFixture);
            
            disp(['The temporary folder: ' tempFixture.Folder])
        end
    end
end

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

run(tempFolderFixtureTest);
Running tempFolderFixtureTest
The temporary folder: C:\Temp\tpfb1ae2cf_c9de_4de3_9557_00d52bfcc1b2
.
Done tempFolderFixtureTest
__________

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

Создать следующее anotherTempFolderFixtureTest определение класса в пути MATLAB. Для целей этого примера test1 содержит утверждение, вызывающее сбой теста.

classdef anotherTempFolderFixtureTest < matlab.unittest.TestCase
    methods(Test)
        function test1(testCase)
            import matlab.unittest.fixtures.TemporaryFolderFixture
            
            testCase.applyFixture(TemporaryFolderFixture( ...
                'PreservingOnFailure',true,'WithSuffix','TestData'));
            
            % Failed assertion, preserved temporary folder
            testCase.assertEqual(1,2)
        end
    end
end

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

run(anotherTempFolderFixtureTest);
Running anotherTempFolderFixtureTest

================================================================================
Assertion failed in anotherTempFolderFixtureTest/test1 and it did not run to completion.

    ---------------------
    Framework Diagnostic:
    ---------------------
    assertEqual failed.
    --> The values are not equal using "isequaln".
    --> Failure table:
                Actual    Expected    Error    RelativeError
                ______    ________    _____    _____________
            
                1         2           -1       -0.5         
    
    Actual double:
             1
    Expected double:
             2

    ------------------
    Stack Information:
    ------------------
    In C:\Documents\anotherTempFolderFixtureTest.m (anotherTempFolderFixtureTest.test1) at 10
================================================================================
   [Terse] Diagnostic logged (2014-04-01T13:50:51): 
Because of a failure in the test using the TemporaryFolderFixture, the following folder will not be deleted:
C:\Temp\tp9f5aa9f1_ead1_4462_91f2_08bbe7d0316cTestData


.
Done anotherTempFolderFixtureTest
__________

Failure Summary:

     Name                                Failed  Incomplete  Reason(s)
    ==============================================================================
     anotherTempFolderFixtureTest/test1    X         X       Failed by assertion.

Тест завершился неуспешно, и временная папка сохраняется. Можно открыть временную папку, показанную здесь как C:\Temp\tp9f5aa9f1_ead1_4462_91f2_08bbe7d0316cTestDataи изучите любое содержимое.

Представлен в R2013b