matlab.unittest.TestSuite.fromPackage

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

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

Описание

пример

suite = matlab.unittest.TestSuite.fromPackage(package) создает TestSuite массив от всего Test методы всех тестов содержатся в package и возвращает тот массив в suite. Метод не является рекурсивным, возвращая только те тесты непосредственно в заданном пакете.

пример

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

пример

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

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

package

Имя желаемого пакета, чтобы найти тесты в виде вектора символов или строкового скаляра.

s

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

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

'BaseFolder'

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

'ExternalParameters'

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

'IncludingSubpackages'

Индикатор для того, включать ли подпакеты в TestSuite массив в виде 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.fromPackage('mypackage.subpackage');
result = run(suite)

Запустите тесты в mypackage включая все подпакеты.

suite = TestSuite.fromPackage('mypackage','IncludingSubpackages',true);
result = run(suite)

В вашей рабочей папке создайте новый пакет путем создания новой папки, +myPackage. В той папке создайте следующий 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.

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

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

suite = TestSuite.fromPackage('myPackage', ...
    HasParameter('Property','outSize'));
{suite.Name}'
ans = 

    'myPackage.testZeros/testClass(type=single,outSize=s2d)'
    'myPackage.testZeros/testClass(type=single,outSize=s3d)'
    'myPackage.testZeros/testClass(type=double,outSize=s2d)'
    'myPackage.testZeros/testClass(type=double,outSize=s3d)'
    'myPackage.testZeros/testClass(type=uint16,outSize=s2d)'
    'myPackage.testZeros/testClass(type=uint16,outSize=s3d)'
    'myPackage.testZeros/testSize(outSize=s2d)'
    'myPackage.testZeros/testSize(outSize=s3d)'

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

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

import matlab.unittest.TestSuite;

suite = TestSuite.fromPackage('myPackage', ...
    'ParameterProperty', 'outSize');
{suite.Name}'
ans = 

    'myPackage.testZeros/testClass(type=single,outSize=s2d)'
    'myPackage.testZeros/testClass(type=single,outSize=s3d)'
    'myPackage.testZeros/testClass(type=double,outSize=s2d)'
    'myPackage.testZeros/testClass(type=double,outSize=s3d)'
    'myPackage.testZeros/testClass(type=uint16,outSize=s2d)'
    'myPackage.testZeros/testClass(type=uint16,outSize=s3d)'
    'myPackage.testZeros/testSize(outSize=s2d)'
    'myPackage.testZeros/testSize(outSize=s3d)'

Советы

  • Корневая папка (папки), где package задан должен быть на пути MATLAB при создании suite использование этого метода, а также когда suite запущен.

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

| | |

Введенный в R2013a