matlab.unittest.TestSuite.fromPackage

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

Создание TestSuite массив из всех тестов в пакете

Описание

пример

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'

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

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

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

The 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 массив.

Признаки

Statictrue

Чтобы узнать об атрибутах методов, см. «Атрибуты метода».

Примеры

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

Добавьте 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 is должно находиться в пути MATLAB при создании suite используя этот метод, а также когда suite выполняется.

Введенный в R2013a
Для просмотра документации необходимо авторизоваться на сайте