sortByFixtures

Класс: matlab.unittest.TestSuite
Пакет: matlab.unittest

Переупорядочьте тестовый набор на основе разделяемых фиксаторов

Синтаксис

sortedSuite = sortByFixtures(suite)
[sortedSuite,I] = sortByFixtures(suite)

Описание

sortedSuite = sortByFixtures(suite) переупорядочивает тестовый набор, чтобы уменьшать совместно использованную настройку фиксатора и операции отключения. Не используйте порядок элементов в sortedSuite когда это может измениться в будущем релизе.

[sortedSuite,I] = sortByFixtures(suite) также возвращается, вид индексируют I это описывает расположение элементов suite в sortedSuite.

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

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

Набор тестов в виде matlab.unittest.Test массив.

Выходные аргументы

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

Упорядоченное множество тестов, возвращенных как matlab.unittest.Test массив. sortedSuite сочетание тестовых элементов suite.

Сортировка индекса, возвращенного как вектор, матрица или многомерный массив. I одного размера с suite и описывает расположение элементов suite в orderedSuite. А именно, sortedSuite = suite(I).

Примеры

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

Создайте три тестовых класса в своей текущей рабочей папке. Протестируйте классы MyTestClassA и MyTestClassC используйте тот же разделяемый фиксатор пути.

classdef (SharedTestFixtures={ ...
        matlab.unittest.fixtures.PathFixture('offPathFolder')}) ...
        MyTestClassA < matlab.unittest.TestCase
    methods (Test)
        function test_A(testCase)
            % test content
        end
    end
end
classdef MyTestClassB < matlab.unittest.TestCase
    methods (Test)
        function test_B(testCase)
            % test content
        end
    end
end
classdef (SharedTestFixtures={ ...
        matlab.unittest.fixtures.PathFixture('offPathFolder')}) ...
        MyTestClassC < matlab.unittest.TestCase
    methods (Test)
        function test_C(testCase)
            % test content
        end
    end
end

Создайте тестовый набор из каждого класса.

import matlab.unittest.TestSuite;
suiteA = TestSuite.fromClass(?MyTestClassA);
suiteB = TestSuite.fromClass(?MyTestClassB);
suiteC = TestSuite.fromClass(?MyTestClassC);

Конкатенация комплектов и представления порядок тестовых элементов.

suite = [suiteA suiteB suiteC];
{suite.Name}'
ans =

  3×1 cell array

    {'MyTestClassA/test_A'}
    {'MyTestClassB/test_B'}
    {'MyTestClassC/test_C'}

Сортировка комплекта разделяемыми фиксаторами и представлением порядок тестовых элементов.

sortedSuite = sortByFixtures(suite);
{sortedSuite.Name}'
ans =

  3×1 cell array

    {'MyTestClassA/test_A'}
    {'MyTestClassC/test_C'}
    {'MyTestClassB/test_B'}

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

Советы

Если вы создаете тестовый набор с помощью одного вызова testsuite функция вместо нескольких вызовов метода matlab.unittest.TestSuite, комплект автоматически сортируется на основе разделяемых фиксаторов. Однако, если вы добавляете, удаляете или переупорядочиваете элементы после начального создания комплекта, вызовите sortByFixtures метод, чтобы отсортировать комплект.

Введенный в R2018b