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