storeIn

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

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

Описание

пример

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

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

Parallel Computing Toolbox сериализирует 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