exponenta event banner

storeIn

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

Хранить данные, собранные для группы тестов

Описание

пример

storeIn(plugin,communicationBuffer,data) сохраняет data собранные plugin в буфере communicationBuffer. Данные собираются работником MATLAB ® во время выполнения группы тестов.

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

Примечание

Каждый новый вызов storeIn перезаписывает ранее сохраненные данные. Поэтому запись в буфер выполняется только один раз в пределах области действия runTestSuite способ. Если необходимо сохранить несколько элементов данных, включите их все в data с использованием соответствующего типа данных.

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

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

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

Буфер, в котором работник хранит данные, указанные как экземпляр matlab.unittest.plugins.plugindata.CommunicationBuffer класс. communicationBuffer представляет свойство matlab.unittest.plugins.plugindata.TestSuiteRunPluginData экземпляр, который передается runTestSuite способ.

Данные для хранения в буфере, указанные как скаляр или массив объектов. Например, можно указать data как числовой скаляр, строковый массив, массив ячеек, структура или объект класса.

Набор инструментов для параллельных вычислений сериализуется data на стороне работника, сохраняет его в communicationBufferи десериализует его на стороне клиента. data должны надлежащим образом облегчать сохранение и загрузку. Дополнительные сведения см. в разделе Сохранение и загрузка процесса для объектов.

Признаки

Accessprotected
Sealedtrue

Сведения об атрибутах методов см. в разделе Атрибуты метода.

Примеры

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

Вызовите storeIn метод в классе плагина для хранения количества элементов в запущенном 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