exponenta event banner

retrieveFrom

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

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

Описание

пример

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

Для параллельного выполнения тестов структура тестирования делит оригинал TestSuite массив в отдельные группы и назначает их работникам текущего параллельного пула (требуется 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