matlab.unittest. TestSuite.fromClass

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

Создайте комплект из класса TestCase

Синтаксис

suite = matlab.unittest.TestSuite.fromClass(testClass)
suite = matlab.unittest.TestSuite.fromClass(testClass,s)
suite = matlab.unittest.TestSuite.fromClass(___,Name,Value)

Описание

пример

suite = matlab.unittest.TestSuite.fromClass(testClass) создает массив TestSuite изо всех методов Test, содержавшихся в testClass, и возвращает тот массив в suite.

пример

suite = matlab.unittest.TestSuite.fromClass(testClass,s) создает массив TestSuite изо всех методов Test, содержавшихся в testClass, которые удовлетворяют условия, заданные селектором, s.

пример

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

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

тестирование класса

Класс, содержащий методы тестирования, заданные как экземпляр meta.class. Используйте оператор ?, чтобы создать экземпляр meta.class. testClass должен вывести от matlab.unittest.TestCase.

s

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

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

'BaseFolder'

Вектор символа или скаляр строки указание на имя родительского элемента папки пакета верхнего уровня, которая содержит файл, задающий тестовый класс или функцию. This argument filters TestSuite array elements. Для тестового элемента, который будет включен в комплект, тестовый элемент должен содержаться в заданной основной папке. Use the wildcard character, *, to match any number of characters. Use the question mark character, ?, to match to exactly one character.

'ExternalParameters'

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

Имя

Вектор символа или скаляр строки указание на имя элемента комплекта. This argument filters TestSuite array elements., Чтобы включать тестовый элемент в комплект, свойство Name тестового элемента должно совпадать с указанным именем. Use the wildcard character, *, to match any number of characters. Use the question mark character, ?, to match to exactly one character.

'ParameterName'

Вектор символа или скаляр строки указание на имя параметра используются элементом тестового набора. This argument filters TestSuite array elements. Use the wildcard character, *, to match any number of characters. Use the question mark character, ?, to match to exactly one character.

'ParameterProperty'

Вектор символа или скаляр строки указание на имя свойства, которое задает параметр, используемый элементом тестового набора. This argument filters TestSuite array elements. Use the wildcard character, *, to match any number of characters. Use the question mark character, ?, to match to exactly one character.

'ProcedureName'

Имя процедуры тестирования, заданной как вектор символа или скаляр строки. This argument filters TestSuite array elements. Use the wildcard character, *, to match any number of characters. Use the question mark character, ?, to match to exactly one character.

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

'Superclass'

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

Тег

Вектор символа или скаляр строки указание на имя тега применились к элементу тестового набора. This argument filters TestSuite array elements. This argument filters TestSuite array elements. Use the wildcard character, *, to match any number of characters. Use the question mark character, ?, чтобы совпадать точно с одним символом.

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

suite

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

Примеры

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

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

import matlab.unittest.TestSuite;
suite = TestSuite.fromClass(?mypackage.MyTestClass);
result = run(suite)

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

import matlab.unittest.TestSuite;
suite = TestSuite.fromClass(?MyTestClass);
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.

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

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

suite = TestSuite.fromClass(?testZeros, ...
    HasParameter('Property','type','Name','double'));
{suite.Name}'
ans = 

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

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

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

import matlab.unittest.TestSuite;

suite = TestSuite.fromClass(?testZeros, ...
    'ParameterProperty','type', 'ParameterName','double');
{suite.Name}'
ans = 

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

Советы

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

Введенный в R2013a

Была ли эта тема полезной?