exponenta event banner

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

Пакет: matlab.unittest.selectors

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

Описание

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