Main Content

retrieveFrom

类: matlab.unittest.plugins.Parallelizable
命名空间: matlab.unittest.plugins

检索一组测试的存储数据

自 R2019b 起

说明

示例

data = retrieveFrom(plugin,buffer) 从指定的通信缓冲区中检索使用插件收集的数据。运行一组测试时,数据必须由 MATLAB® 工作进程存储在buffer 中。

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

如果 buffer 在意外情况下为空(例如当致命断言失败阻止所有工作进程存储数据时),则 data = retrieveFrom(plugin,buffer,DefaultData=defaultData) 返回指定的默认数据。如果 buffer 包含数据,该方法将按预期检索存储的数据。 (自 R2024a 起)

输入参数

全部展开

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

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

自 R2024a 起

buffer 为空时返回的默认数据,指定为任何数据类型的值。

属性

Accessprotected
Sealedtrue

要了解方法的属性,请参阅方法属性

示例

全部展开

创建一个可并行化的插件,显示现有测试组中正在运行的和已最终化的测试的数量。要检索一个最终化的组中的测试数目,请在 reportFinalizedSuite 方法的作用域内调用 retrieveFrom 方法。

classdef ExamplePlugin < ...
        matlab.unittest.plugins.TestRunnerPlugin & ...
        matlab.unittest.plugins.Parallelizable
    
    methods (Access = protected)
        function runTestSuite(plugin,pluginData) 
            % Display and store running test suite size
            suiteSize = numel(pluginData.TestSuite);
            fprintf("### Running %d test(s)\n",suiteSize)
            plugin.storeIn(pluginData.CommunicationBuffer,suiteSize);
            
            % Invoke the superclass method
            runTestSuite@ ...
                matlab.unittest.plugins.TestRunnerPlugin(plugin,pluginData)
        end
        
        function reportFinalizedSuite(plugin,pluginData)
            % Retrieve and display finalized test suite size
            suiteSize = plugin.retrieveFrom(pluginData.CommunicationBuffer);
            fprintf("### Finished running %d test(s)\n",suiteSize)

            % Invoke the superclass method
            reportFinalizedSuite@ ...
                matlab.unittest.plugins.TestRunnerPlugin(plugin,pluginData)
        end
    end
end

版本历史记录

在 R2019b 中推出

全部展开