retrieveFrom

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

Извлечение данных, хранимых для группы тестов

Описание

пример

data = retrieveFrom(plugin,communicationBuffer) извлекает data собрано по plugin из буфера communicationBuffer. Данные должны храниться в буфере MATLAB® worker при выполнении группы тестов.

Чтобы запустить тесты параллельно, среда тестирования делит исходные TestSuite массив в отдельные группы и присваивает их работникам текущего параллельного пула (требует Parallel Computing Toolbox™). Чтобы включить клиенту MATLAB получение данных от работников, активируйте retrieveFrom в пределах возможностей reportFinalizedSuite метод TestRunnerPlugin. Работники должны хранить свои данные путем вызова storeIn метод в возможности runTestSuite.

Входные параметры

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

Объект плагина, заданный как образец класса плагина, который подклассифицирует matlab.unittest.plugins.Parallelizable интерфейс.

Буфер, из которого клиент получает данные, заданный как образец matlab.unittest.plugins.plugindata.CommunicationBuffer класс. communicationBuffer представляет свойство matlab.unittest.plugins.plugindata.FinalizedSuitePluginData образец, который передается в reportFinalizedSuite способ.

Выходные аргументы

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

Данные, извлеченные из буфера, возвращаются в виде скаляра или массива объектов.

Признаки

Accessprotected
Sealedtrue

Чтобы узнать об атрибутах методов, см. «Атрибуты метода».

Примеры

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

Активируйте retrieveFrom метод в классе плагина, чтобы получить количество элементов в доработанном TestSuite массив.

classdef ExamplePlugin < ...
        matlab.unittest.plugins.TestRunnerPlugin & ...
        matlab.unittest.plugins.Parallelizable
    
    methods (Access = protected)
        function runTestSuite(plugin, pluginData) 
            
            % Display and store running TestSuite size
            suiteSize = numel(pluginData.TestSuite);
            fprintf('### Running %d tests\n', suiteSize)
            plugin.storeIn(pluginData.CommunicationBuffer, suiteSize);

            runTestSuite@matlab.unittest.plugins.TestRunnerPlugin(...
                plugin, pluginData);
        end
        
        function reportFinalizedSuite(plugin, pluginData)
            
            % Retrieve and display finalized TestSuite size
            suiteSize = plugin.retrieveFrom(pluginData.CommunicationBuffer);
            fprintf('### Finished running %d tests\n', suiteSize)

            reportFinalizedSuite@matlab.unittest.plugins.TestRunnerPlugin(...
                plugin, pluginData);
        end
    end
    
end
Введенный в R2019b