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