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 Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- 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)