matlab.unittest.selectors.HasName class

Пакет: 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.Constraint класс.

Примеры

свернуть все

Создайте следующий тестовый класс в файле, 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