sortByFixtures

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

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

Синтаксис

sortedSuite = sortByFixtures (комплект)
[sortedSuite, я] = sortByFixtures (комплект)

Описание

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

Была ли эта тема полезной?