matlab.unittest.plugins.plugindata.ResultDetails 类
命名空间: matlab.unittest.plugins.plugindata
描述
ResultDetails
类使 TestRunnerPlugin
实例能够修改 TestResult
数组的 Details
属性。要修改 Details
结构体,请在插件类方法的作用域内调用 ResultDetails
的方法。TestRunner
实例化此类,因此不需要您直接创建该类的对象。
注意
ResultDetails
无法修改最终化测试结果。当不再有鉴定可能修改测试结果时,表示测试结果是最终化的。
示例
将组编号添加到测试结果详细信息中
测试框架可以将测试套件分成不同的各组,并在当前并行池中运行每个组(需要 Parallel Computing Toolbox™)。创建一个插件,该插件将组编号添加到 TestResult
对象中。
在当前文件夹中的文件中,创建可并行化的插件类 ExamplePlugin
,它覆盖 TestRunnerPlugin
的 runTestSuite
方法。将包含组编号的 Group
字段添加到与该组对应的 TestResult
对象的 Details
属性中。
classdef ExamplePlugin < ... matlab.unittest.plugins.TestRunnerPlugin & ... matlab.unittest.plugins.Parallelizable methods (Access = protected) function runTestSuite(plugin,pluginData) % Inspect pluginData to get the TestSuite group number groupNumber = pluginData.Group; % Add the group number to TestResult objects resultDetails = pluginData.ResultDetails; resultDetails.append('Group',groupNumber) % Invoke the superclass method runTestSuite@matlab.unittest.plugins.TestRunnerPlugin(plugin,pluginData); end end end
在您的当前文件夹中,创建一个名为 ExampleTest.m
的文件,其中包含此参数化测试类。此类产生 300 个测试,用于比较 1 和 10 之间的伪随机整数。
classdef ExampleTest < matlab.unittest.TestCase properties (TestParameter) num1 = num2cell(randi(10,1,10)); num2 = num2cell(randi(10,1,10)); end methods(Test) function testAssert(testCase,num1,num2) testCase.assertNotEqual(num1,num2) end function testVerify(testCase,num1,num2) testCase.verifyNotEqual(num1,num2) end function testAssume(testCase,num1,num2) testCase.assumeNotEqual(num1,num2) end end end
在命令提示符下,基于 ExampleTest
类创建测试套件。
suite = testsuite('ExampleTest');
创建一个没有插件的 TestRunner
实例,将 ExamplePlugin
添加到运行器中,然后并行运行测试。
import matlab.unittest.TestRunner
runner = TestRunner.withNoPlugins;
runner.addPlugin(ExamplePlugin)
result = runner.runInParallel(suite);
Split tests into 18 groups and running them on 6 workers. ---------------- Finished Group 1 ---------------- ---------------- Finished Group 2 ---------------- ---------------- Finished Group 3 ---------------- ---------------- Finished Group 4 ---------------- ---------------- Finished Group 5 ---------------- ---------------- Finished Group 6 ---------------- ---------------- Finished Group 7 ---------------- ---------------- Finished Group 8 ---------------- ---------------- Finished Group 9 ---------------- ----------------- Finished Group 10 ----------------- ----------------- Finished Group 11 ----------------- ----------------- Finished Group 12 ----------------- ----------------- Finished Group 13 ----------------- ----------------- Finished Group 14 ----------------- ----------------- Finished Group 15 ----------------- ----------------- Finished Group 16 ----------------- ----------------- Finished Group 17 ----------------- ----------------- Finished Group 18 -----------------
检索第一个和最后一个 Test
元素的组编号。
groupOfFirst = result(1).Details.Group groupOfLast = result(end).Details.Group
groupOfFirst = 1 groupOfLast = 18
版本历史记录
在 R2020a 中推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)