matlab.unittest.TestSuite.fromMethod

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

Создание тестового набора массив от одного метода тестирования

Описание

пример

suite = matlab.unittest.TestSuite.fromMethod(testClass,testMethod) создает TestSuite массив от тестового класса описан testClass и метод тестирования описан testMethod и возвращает его в suite.

пример

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

пример

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

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

testClass

Класс, описывающий методы тестирования, заданные как meta.class экземпляр, который должен вывести из matlab.unittest.TestCase.

testMethod

Метод тестирования, заданный любым meta.method экземпляр или имя как вектор символов или скаляр строки. Метод должен быть задан с Test атрибут метода.

s

Селектор, заданный как экземпляр класса от matlab.unittest.selector пакет.

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

'BaseFolder'

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

'ExternalParameters'

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

'Name'

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

'ParameterName'

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

'ParameterProperty'

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

'ProcedureName'

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

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

'Superclass'

Имя класса, который тестовый класс выводит из, заданный как скаляр строки или вектор символов. Этот аргумент фильтрует TestSuite элементы массива.

'Tag'

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

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

suite

Набор тестов, заданных как matlab.unittest.Test массив.

Примеры

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

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

import matlab.unittest.TestSuite;
cls = ?mypackage.MyTestClass;
    
% Create the suite using the method name
suite = TestSuite.fromMethod(cls, 'testMethod');
result = run(suite)
 
% Create the suite using the meta.method instance
metaMethod = findobj(cls.MethodList, 'Name', 'testMethod');
suite = TestSuite.fromMethod(cls, metaMethod);
result = run(suite)

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

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

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

suite = TestSuite.fromMethod(?testZeros,'testClass', ...
    HasParameter('Name','single'));
{suite.Name}'
ans = 

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

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

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

import matlab.unittest.TestSuite;

suite = TestSuite.fromMethod(?testZeros,'testClass', ...
    'ParameterName','single');
{suite.Name}'
ans = 

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

Советы

  • testClass должен быть на пути MATLAB® при использовании этого метода, чтобы создать suite, а также когда suite запущен.

Введенный в R2013a