matlab.unittest.selectors. Класс HasName

Пакет: matlab.unittest.selectors

Селектор для элементов TestSuite, определенных по наименованию

Описание

Селектор HasName фильтрует элементы массива TestSuite, определенные тестовым именем элемента.

Конструкция

matlab.unittest.selectors.HasName(n) создает селектор для элементов TestSuite, определенных тестовым именем элемента, n. Можно задать имя как вектор символов или как экземпляр класса matlab.unittest.constraints.Constraint. Если указанное имя, n, является вектором символов, среда тестирования создает ограничение IsEqualTo с n как ожидаемое значение.

Для тестового элемента, который будет включен в комплект, тестовый элемент должен иметь то же имя как указанное имя.

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

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

Протестируйте имя элемента, заданное как экземпляр matlab.unittest.constraints.Constraint или вектор символов. Следующие условия должны быть удовлетворены для тестового элемента, который будет выбран для TestSuite:

  • Если n является вектором символов, тестовое имя элемента должно точно совпадать с указанным именем.

  • Если n является ограничением, тестовое имя элемента должно удовлетворить заданное ограничение.

Свойства

Constraint

Условие тестовое имя элемента должно удовлетворить, чтобы быть включенным в тестовый набор, заданный как экземпляр класса matlab.unittest.constraints.Constraints.

Примеры

свернуть все

Создайте следующий тестовый класс в файле, ExampleTest.m, в вашей текущей рабочей папке.

classdef ExampleTest < matlab.unittest.TestCase
    methods(Test)
        function testPathAdd(testCase)
            % test code
        end
        function testOne(testCase)
            % test code
        end
         function testTwo(testCase)
            % test code
        end
    end
end

В командной строке создайте тестовый набор из файла ExampleTest.m и исследуйте содержимое.

import matlab.unittest.TestSuite;
import matlab.unittest.selectors.HasName;
import matlab.unittest.constraints.EndsWithSubstring;

suite = TestSuite.fromFile('ExampleTest.m');
{suite.Name}
ans =

  1×3 cell array

    {'ExampleTest/testPathAdd'}    {'ExampleTest/testOne'}    {'ExampleTest/testTwo'}

Комплект содержит три теста.

Выберите все элементы тестового набора, которые имеют имя 'ExampleTest/testPathAdd' и исследуют содержимое.

s1 = suite.selectIf(HasName('ExampleTest/testPathAdd'));
{s1.Name}
ans =

  1×1 cell array

    {'ExampleTest/testPathAdd'}

Комплект отфильтрованного теста только содержит один тестовый элемент.

Выберите все элементы тестового набора, которые заканчиваются или в 'One' или в 'Two', и исследуют содержимое.

s1 =  suite.selectIf(HasName(EndsWithSubstring('One')) | ...
    HasName(EndsWithSubstring('Two')));
{s1.Name}
ans =

  1×2 cell array

    {'ExampleTest/testOne'}    {'ExampleTest/testTwo'}

Во время конструкции тестового набора создайте тестовый набор, который только содержит тесты с подстрокой 'One'.

import matlab.unittest.constraints.ContainsSubstring;
s2 = TestSuite.fromFile('ExampleTest.m',...
    HasName(ContainsSubstring('One')))
s2 = 

  Test with properties:

                  Name: 'ExampleTest/testOne'
         ProcedureName: 'testOne'
             TestClass: "ExampleTest"
            BaseFolder: 'C:\work'
      Parameterization: [0×0 matlab.unittest.parameters.EmptyParameter]
    SharedTestFixtures: [0×0 matlab.unittest.fixtures.EmptyFixture]
                  Tags: {1×0 cell}

Tests Include:
   0 Parameterizations, 0 Shared Test Fixture Classes, 0 Tags.

Введенный в R2014a