matlab.unittest.plugins.plugindata.ResultDetails class

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

Класс для изменения деталей результата испытаний

Описание

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

Примечание

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

Методы

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

Примеры

свернуть все

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

В файле в вашей текущей папке создайте parallelizable сменный класс 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