matlab.unittest.selectors.HasName class

Пакет: matlab.unittest.selectors

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

Описание

The 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