matlab.unittest.TestSuite.fromFolder

Класс: matlab.unittest.TestSuite
Пакет: matlab.unittest

Создание тестового набора массив от всех тестов в папке

Описание

пример

suite = matlab.unittest.TestSuite.fromFolder(folder) создает TestSuite массив от всего Test методы всего конкретного TestCase классы содержатся в folder и возвращает тот массив в suite. Если тесты функциональны или на основе скриптов, Test файл включен в TestSuite массив, если это следует соглашению о присвоении имен начинания или заканчивания в слове 'тест', который является нечувствительным к регистру. Основанные на классах тесты не должны следовать этому соглашению о присвоении имен. Метод не является рекурсивным, возвращая только те тесты непосредственно в заданной папке.

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

пример

suite = matlab.unittest.TestSuite.fromFolder(folder,s) создает TestSuite массив от всего Test методы содержатся в folder это удовлетворяет условиям, заданным селектором, s.

пример

suite = matlab.unittest.TestSuite.fromFolder(___,Name,Value) создает TestSuite массив с дополнительными опциями, заданными одним или несколькими Name,Value парные аргументы. Можно использовать этот синтаксис с любым из входных параметров предыдущих синтаксисов.

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

folder

Папка, содержащая тесты в виде вектора символов или строкового скаляра. folder может быть или абсолютный или относительный путь к желаемой папке.

s

Селектор в виде экземпляра класса от matlab.unittest.selector пакет.

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

'BaseFolder'

Имя папки, которая содержит файл, задающий тесты в виде массива строк, вектора символов или массива ячеек из символьных векторов. Этот аргумент фильтрует TestSuite элементы массива. Для среды тестирования, чтобы включать тест в набор, Test элемент должен содержаться в одной из основных папок, заданных BaseFolder. Если ни один из Test элементы совпадают с основной папкой, пустой тестовый набор возвращен. Используйте подстановочный символ * совпадать с любым количеством символов. Используйте символа вопросительного знака, ? совпадать с отдельным символом.

'ExternalParameters'

Массив matlab.unittest.parameters.Parameter экземпляры для использования в параметрированных тестах. Среда использует эти внешние параметры вместо соответствующих параметров, которые заданы в параметрированном тесте. Для получения дополнительной информации смотрите Использование Внешние Параметры в Параметрированном Тесте.

'IncludingSubfolders'

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

'Name'

Имя элемента набора в виде массива строк, вектора символов или массива ячеек из символьных векторов. Этот аргумент фильтрует TestSuite элементы массива. Для среды тестирования, чтобы включать тест в набор, Name свойство Test элемент должен совпадать с одним из имен, заданных Name. Если ни один из Test элементы имеют соответствующее имя, пустой тестовый набор возвращен. Используйте подстановочный символ * совпадать с любым количеством символов. Используйте символа вопросительного знака, ? совпадать с отдельным символом.

'ParameterProperty'

Имя тестового свойства класса, которое задает параметр, используемый элементом тестового набора в виде массива строк, вектора символов или массива ячеек из символьных векторов. Этот аргумент фильтрует TestSuite элементы массива. Для среды тестирования, чтобы включать тест в набор, Parameterization свойство Test элемент должен содержать по крайней мере одно из имен свойства, заданных ParameterProperty. Если ни один из Test элементы имеют соответствующее имя свойства, пустой тестовый набор возвращен. Используйте подстановочный символ * совпадать с любым количеством символов. Используйте символа вопросительного знака, ? соответствовать к отдельному символу.

'ParameterName'

Имя параметра, используемого элементом тестового набора в виде массива строк, вектора символов или массива ячеек из символьных векторов. MATLAB генерирует названия параметра на основе тестового свойства класса, которое задает параметры:

  • Если значение свойства является массивом ячеек из символьных векторов, MATLAB генерирует названия параметра от значений в массиве ячеек. В противном случае MATLAB задает названия параметра как value1, value2, …, valueN.

  • Если значение свойства является структурой, MATLAB генерирует названия параметра от полей структуры.

ParameterName аргумент фильтрует TestSuite элементы массива. Для среды тестирования, чтобы включать тест в набор, Parameterization свойство Test элемент должен содержать по крайней мере одно из названий параметра, заданных ParameterName. Если ни один из Test элементы имеют соответствующее название параметра, пустой тестовый набор возвращен. Используйте подстановочный символ * совпадать с любым количеством символов. Используйте символа вопросительного знака, ? совпадать с отдельным символом.

'ProcedureName'

Имя процедуры тестирования в виде массива строк, вектора символов или массива ячеек из символьных векторов. Этот аргумент фильтрует TestSuite элементы массива. Для среды тестирования, чтобы включать тест в набор, ProcedureName свойство Test элемент должен совпадать с одними из имен процедур, заданных ProcedureName. Если ни один из Test элементы имеют соответствующее имя процедуры, пустой тестовый набор возвращен. Используйте подстановочный символ * совпадать с любым количеством символов. Используйте символа вопросительного знака, ? совпадать с отдельным символом.

В основанном на классах тесте, ProcedureName имя метода тестирования. В функциональном тесте это - имя локальной функции, которая содержит тест. В тесте на основе скриптов это - имя, сгенерированное из заголовка экспериментального участка. В отличие от Name, имя процедуры тестирования не включает класса или имени пакета или информации о параметризации.

'Superclass'

Имя класса, из которого выводит тестовый класс в виде массива строк, вектора символов или массива ячеек из символьных векторов. Этот аргумент фильтрует TestSuite элементы массива. Для среды тестирования, чтобы включать тест в набор, TestClass свойство Test элемент должен указать на тестовый класс, который выводит из одного из классов, заданных Superclass. Если ни один из Test элементы совпадают с классом, пустой тестовый набор возвращен.

'Tag'

Имя тестового тега, используемого элементом тестового набора в виде массива строк, вектора символов или массива ячеек из символьных векторов. Этот аргумент фильтрует TestSuite элементы массива. Для среды тестирования, чтобы включать тест в набор, Tags свойство Test элемент должен содержать по крайней мере одно из имен тега, заданных Tag. Если ни один из Test элементы имеют соответствующее имя тега, пустой тестовый набор возвращен. Используйте подстановочный символ * совпадать с любым количеством символов. Используйте символа вопросительного знака, ? совпадать с отдельным символом.

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

suite

Набор тестов в виде matlab.unittest.Test массив.

Примеры

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

Добавьте matlab.unittest.TestSuite класс к текущему списку импорта.

import matlab.unittest.TestSuite;
suite = TestSuite.fromFolder(pwd);
result = run(suite);
suite = TestSuite.fromFolder(pwd, 'IncludingSubfolders', true);
result = run(suite);

В вашей рабочей папке создайте новую папку, myTests. В той папке создайте следующий testZeros.m тестовый файл. Этот класс содержит четыре метода тестирования.

classdef testZeros < matlab.unittest.TestCase
    properties (TestParameter)
        type = {'single','double','uint16'};
        outSize = struct('s2d',[3 3], 's3d',[2 5 4]);
    end
    
    methods (Test)
        function testClass(testCase, type, outSize)
            testCase.verifyClass(zeros(outSize,type), type);
        end
        
        function testSize(testCase, outSize)
            testCase.verifySize(zeros(outSize), outSize);
        end
        
        function testDefaultClass(testCase)
            testCase.verifyClass(zeros, 'double');
        end
        function testDefaultSize(testCase)
            testCase.verifySize(zeros, [1 1]);
        end
        
        function testDefaultValue(testCase)
            testCase.verifyEqual(zeros,0);
        end
    end
end

Тестовый класс содержит два параметрированных метода тестирования, testClass и testSize.

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

import matlab.unittest.TestSuite;
import matlab.unittest.selectors.HasParameter;

suite = TestSuite.fromFolder('myTests', HasParameter('Name','double'));
{suite.Name}'
ans = 

    'testZeros/testClass(type=double,outSize=s2d)'
    'testZeros/testClass(type=double,outSize=s3d)'

Создайте myTests папка и testZeros.m класс от предыдущего примера.

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

import matlab.unittest.TestSuite;

suite = TestSuite.fromFolder('myTests', 'ParameterName', 'double');
{suite.Name}'
ans = 

    'testZeros/testClass(type=double,outSize=s2d)'
    'testZeros/testClass(type=double,outSize=s3d)'

Смотрите также

| |

Введенный в R2013a