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
Для просмотра документации необходимо авторизоваться на сайте