您可以使用测试代码来测试分组进行分类,然后运行与指定标签的测试。典型的测试标记标识的特定的特征或描述测试的类型。
定义测试标记,使用有意义的字符向量或一个字符串数组的单元阵列。例如,TestTags = { '单元'}
要么testtags = [“单位”,“Featurea”]
。
标记单个测试,使用TestTags
方法属性。
要标记一个类中的所有测试,使用TestTags
类属性。如果你使用TestTags
在超类属性,在子类继承的测试标签。
该样品的测试类,ExampleTagTest
,使用TestTags
方法属性标签单独的测试。
classdefExampleTagTest方法(测试)功能种皮(测试用例)%测试代码结尾结尾方法(测试,testtags = {'单元'})功能TESTB(测试用例)%测试代码结尾功能TESTC(测试用例)%测试代码结尾结尾方法(测试,testtags = {'单元'那'FeatureA'})功能testd(testcase)%测试代码结尾结尾方法(测试,testtags = {'系统'那'FeatureA'})功能泰斯特(测试用例)%测试代码结尾结尾结尾
一些在课堂上测试ExampleTagTest
的标签。例如,TESTD
被打上'单元'
和'FeatureA'
。一个测试,testa.
,不标记。
该样品的测试类,exampletagclasstest.
,使用TestTags
class属性标签的所有类中的测试,以及TestTags
方法属性添加标签单独的测试。
classdef(testtags = {'FeatureB'})......ExampleTagClassTest方法(测试)功能testF(测试用例)%测试代码结尾结尾方法(测试,testtags = {'FeatureC'那'系统'})功能testg(testcase)%测试代码结尾结尾方法(测试,testtags = {'系统'那'FeatureA'})功能testH(测试用例)%测试代码结尾结尾结尾
在类中的每个测试exampletagclasstest.
被打上'FeatureB'
。此外,个别测试标有各种标签,包括'FeatureA'
那'FeatureC'
, 和'系统'
。
有选择和运行标记测试的方式有三种:
runtests.
使用runtests.
功能选择并没有显式地创建一个测试套件运行测试。选择并运行所有测试ExampleTagTest
和exampletagclasstest.
这包括'FeatureA'
标签。
结果= runtests({'exampletagtest'那'exampletagclasstest'},'标签'那'FeatureA');
正在运行的excepletagtest ..完成了exampletagtest __________正在运行的exampletagclasstest。完成exampletagclasstest __________
runtests.
选择奔三次的测试。
在表中显示的结果。
表(结果)
ANS = 3×6表名称传递失败未完成工作持续时间详细___________________________ ______ __________ ____________ 'ExampleTagTest / TESTE' 真假假0.00039529 [1×1结构] 'ExampleTagTest / TESTD' 真假假0.00045658 [1×1结构]“ExampleTagClassTest/ testH”真假假0.00043899 [1×1结构]
所选择的测试泰斯特
和TESTD
从ExampleTagTest
, 和testH
从exampletagclasstest.
。
testsuite.
方法从中创建一套测试ExampleTagTest
标记有类'FeatureA'
。
进口matlab.unittest.testsuite.sa = testsuite.fromclass(?exampletagtest,'标签'那'FeatureA');
从中创建一套测试exampletagclasstest.
标记有类'FeatureC'
。
SB = TestSuite.fromFile('ExampleTagClassTest.m'那'标签'那'FeatureC');
拼接套件,并查看测试的名称。
套件= [SA SB];{suite.Name}”
ans = 3×1个单元阵列'exampletagtest / teste''exampletagtest / testd''exampletagclasstest / testg'
HasTag
选择器从中创建一套所有测试ExampleTagTest
和exampletagclasstest.
课程。
进口matlab.unittest.selectors.HasTagSA = TestSuite.fromClass(ExampleTagTest?);SB = TestSuite.fromFile('ExampleTagClassTest.m');套件= [SA SB];
选择所有没有标签的测试。
S1 = suite.selectIf(〜HasTag)
S1 =测试与属性:名称: 'ExampleTagTest /种皮' PROCEDURENAME: '种皮' 的TestClass: “ExampleTagTest” BaseFolder: 'C:\工作' 参数化:[0×0 matlab.unittest.parameters.EmptyParameter] SharedTestFixtures:[0×0] matlab.unittest.fixtures.EmptyFixture标签:{1×0细胞}测试包括:0参数化,0共享测试夹具类,0标签。
选择所有与测试'单元'
标记和显示他们的名字。
S2 = suite.selectIf(HasTag('单元'));{s2.name}'
ANS = 3×1个单元阵列 'ExampleTagTest / TESTD' 'ExampleTagTest / TESTB' 'ExampleTagTest / TESTC'
选择所有与测试'FeatureB'
要么'系统'
标签使用的约束。
进口matlab.unittest.constraints.IsEqualTo约束= IsEqualTo('FeatureB')|IsEqualTo('系统');S3 = suite.selectIf(HasTag(约束));{s3.Name}”
ans = 4×1个单元阵列'exampletagtest / teste''exampletagclasstest / testh''exampletagclasstest / testg''exampletagclasstest / testf'
matlab.unittest.constraints
|matlab.unittest.selectors.HasTag
|matlab.unittest.testcase.
|matlab.unittest.testsuite.
|runtests.