retrieveFrom

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

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

Описание

пример

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

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

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

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

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

Примеры

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

Вызовите 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