本页对应的英文页面已更新,但尚未翻译。 若要查看最新内容,请点击此处访问英文页面。

retrieveFrom

类: matlab.unittest.plugins.Parallelizable
包: matlab.unittest.plugins

检索一组测试的存储数据

说明

示例

data = retrieveFrom(plugin,communicationBuffer) 从缓冲区 communicationBuffer 中检索 plugin 收集的 data。运行一组测试时,数据必须由 MATLAB® 工作进程存储在缓冲区中。

为了并行运行测试,测试框架将原始 TestSuite 数组分成不同组,并将这些组分配给当前并行池中的工作进程(需要 Parallel Computing Toolbox™)。要使 MATLAB 客户端能够从工作进程检索数据,请在 TestRunnerPluginreportFinalizedSuite 方法的作用域内调用 retrieveFrom。工作进程必须通过在 runTestSuite 的作用域内调用 storeIn 方法来存储其数据。

输入参数

全部展开

插件对象,指定为子类化 matlab.unittest.plugins.Parallelizable 接口的插件类的实例。

客户端从中检索数据的缓冲区,指定为 matlab.unittest.plugins.plugindata.CommunicationBuffer 类的实例。communicationBuffer 表示传递给 reportFinalizedSuite 方法的 matlab.unittest.plugins.plugindata.FinalizedSuitePluginData 实例的属性。

输出参数

全部展开

从缓冲区检索到的数据,以标量或对象数组形式返回。

属性

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 中推出