matlab.unittest.plugins.plugindata.ResultDetails class

Пакет: matlab.unittest.plugins.plugindata

Класс для изменения подробных данных результатов тестирования

Описание

The ResultDetails класс включает TestRunnerPlugin образец для изменения Details свойство TestResult массив. Как изменить Details структурируйте, активируйте метод ResultDetails в пределах возможностей метода класса плагина. The TestRunner создает экземпляры этого класса, поэтому создание объекта класса непосредственно не требуется.

Примечание

Окончательные результаты тестирования не могут быть изменены ResultDetails. Результат теста завершается, когда нет возможности для каких-либо проверок его изменить.

Методы

расширить все

Примеры

свернуть все

Среда тестирования может разделить тестовый набор на отдельные группы и запустить каждую группу в текущем параллельном пуле (требует Parallel Computing Toolbox™). Создайте плагин, который добавляет номер группы в TestResult объекты.

В файле в текущей папке создайте класс параллелизируемого плагина ExamplePlugin, который переопределяет runTestSuite метод TestRunnerPlugin. Добавление Group поле, содержащее номер группы в Details свойство TestResult объекты, соответствующие группе.

classdef ExamplePlugin < ...
        matlab.unittest.plugins.TestRunnerPlugin & ...
        matlab.unittest.plugins.Parallelizable
    
    methods (Access = protected)
        function runTestSuite(plugin,pluginData)
            
            % Inspect pluginData to get the TestSuite group number
            groupNumber = pluginData.Group;
            
            % Add the group number to TestResult objects
            resultDetails = pluginData.ResultDetails;
            resultDetails.append('Group',groupNumber)
            
            % Invoke the superclass method
            runTestSuite@matlab.unittest.plugins.TestRunnerPlugin(plugin,pluginData);
        end    
    end
end

В текущей папке создайте файл с именем ExampleTest.m содержит этот параметризованный класс теста. Этот класс приводит к 300 тестам для сравнения псевдослучайных целых чисел между 1 и 10.

classdef ExampleTest < matlab.unittest.TestCase
    properties (TestParameter)
        num1 = num2cell(randi(10,1,10));
        num2 = num2cell(randi(10,1,10));
    end
    
    methods(Test)
        function testAssert(testCase,num1,num2)
            testCase.assertNotEqual(num1,num2)
        end
        function testVerify(testCase,num1,num2)
            testCase.verifyNotEqual(num1,num2)
        end
        function testAssume(testCase,num1,num2)
            testCase.assumeNotEqual(num1,num2)
        end
    end
end

В командной строке создайте тестовый набор из ExampleTest класс.

suite = testsuite('ExampleTest');

Создайте TestRunner образец без плагинов, добавить ExamplePlugin в питатель, а затем запустите тесты параллельно.

import matlab.unittest.TestRunner
runner = TestRunner.withNoPlugins;
runner.addPlugin(ExamplePlugin)
result = runner.runInParallel(suite);
Split tests into 18 groups and running them on 6 workers.
----------------
Finished Group 1
----------------

----------------
Finished Group 2
----------------

----------------
Finished Group 3
----------------

----------------
Finished Group 4
----------------

----------------
Finished Group 5
----------------

----------------
Finished Group 6
----------------

----------------
Finished Group 7
----------------

----------------
Finished Group 8
----------------

----------------
Finished Group 9
----------------

-----------------
Finished Group 10
-----------------

-----------------
Finished Group 11
-----------------

-----------------
Finished Group 12
-----------------

-----------------
Finished Group 13
-----------------

-----------------
Finished Group 14
-----------------

-----------------
Finished Group 15
-----------------

-----------------
Finished Group 16
-----------------

-----------------
Finished Group 17
-----------------

-----------------
Finished Group 18
-----------------

Получите номер группы для первого и последнего Test элементы.

groupOfFirst = result(1).Details.Group
groupOfLast = result(end).Details.Group
groupOfFirst =

     1


groupOfLast =

    18
Введенный в R2020a