testsuite
创建测试套件
描述
例子
测试套件工作文件夹
创建一个文件夹myExample
在你当前的工作目录,您当前的工作目录中,创建一个测试。
在myExample
文件夹中,创建一个基于脚本的测试,onesTest.m
。
% %测试两类expClass =“双”;行动= 1;断言(isa(行动,expClass))% %测试单个类expClass =“单一”;行动= (“单一”);断言(isa(行动,expClass))% %测试uint16类expClass =“uint16”;行动= (“uint16”);断言(isa(行动,expClass))% %测试尺寸expSize = 13 [7];行动= 1 (13 [7]);断言(isequal(大小(act), expSize))% %测试值的行动= (42);断言(独特(act) = = 1)
在myExample
文件夹中,创建一个基于函数的测试,eyeTest.m
。
函数测试= eyeTest测试= functiontests (localfunctions);函数doubleClassTest (testCase) actValue =眼睛;actValue verifyClass (testCase,“双”)函数singleClassTest (testCase) actValue = (“单一”);actValue verifyClass (testCase,“单一”)函数uint16ClassTest (testCase) actValue = (“uint16”);actValue verifyClass (testCase,“uint16”)函数sizeTest (testCase) expSize = 13 [7];actValue =眼睛(expSize);verifySize (testCase actValue expSize);函数valueTest (testCase) actValue =眼睛(42);verifyEqual (testCase,独特的诊断接头(actValue)), 1)1 s %对角线verifyEqual (testCase,独特的(triu (actValue 1)), 0)%上三vals 0verifyEqual (testCase,独特的下三角阵(actValue 1)), 0)%低三vals 0
创建一个测试套件中的所有测试当前文件夹。
套件= testsuite
套件= 1×10测试数组属性:名称BaseFolder ProcedureName SharedTestFixtures参数化标签测试包括:0参数化测试夹具类共享的0,0标签。
如果诚实的
和eyesTest
是唯一的测试在你的文件夹,MATLAB®创建一套10测试。
视图的名称测试套件
。
{suite.Name}’
ans = ' eyeTest / doubleClassTest ' ' eyeTest / singleClassTest ' ' eyeTest / uint16ClassTest ' ' eyeTest / sizeTest ' ' eyeTest / valueTest ' '诚实/ TestDoubleClass ' '诚实/ TestSingleClass ' '诚实/ TestUint16Class ' '诚实/ TestSize ' '诚实/ TestValues '
创建一个测试套件中的所有测试eyeTest
。
suite2 = testsuite (“eyeTest”)
suite2 = 1×5测试数组属性:名称BaseFolder ProcedureName SharedTestFixtures参数化标签测试包括:0参数化测试夹具类共享的0,0标签。
从选择测试的测试套件
在您的工作目录中,创建一个基于类的测试,testZeros.m
。这个类包含五个测试方法。
classdeftestZeros < matlab.unittest.TestCase属性(TestParameter)类型= {“单一”,“双”,“uint16”};巨大的=结构(“s2d”3 [3],“s3d”,(2 5 4));结束方法(测试)函数testClass (testCase、类型的)testCase.verifyClass(0(巨大、类型),类型);结束函数testSize (testCase,特大号)testCase.verifySize(0(特大号),巨大的);结束函数testDefaultClass (testCase) testCase.verifyClass (0,“双”);结束函数testDefaultSize testCase (testCase)。verifySize (0, [1]);结束函数testDefaultValue (testCase) testCase.verifyEqual (0, 0);结束结束结束
完整的测试套件中有11个测试元素:6的testClass
方法2的testSize
方法,并从各1人testDefaultClass
,testDefaultSize
,testDefaultValue
方法。
创建一个测试套件的测试元素包含测试名称“默认”
。
套件= testsuite (“testZeros”,“名字”,“*默认*”)
套件= 1 x3测试数组属性:名称ProcedureName TestClass BaseFolder参数化SharedTestFixtures标签测试包括:0参数化测试夹具类共享的0,0标签。
创建一个测试套件的测试使用的元素巨大的
参数属性。
套件= testsuite (“testZeros”,“ParameterProperty”,“巨大的”)
套件= 1×8测试数组属性:名称ProcedureName TestClass BaseFolder参数化SharedTestFixtures标签测试包括:5独特的参数化,0共享测试夹具类,标签。
测试套件包含八个测试使用巨大的
参数属性:6的testClass
和两个方法testSize
方法。
输入参数
测试
- - - - - -一系列的测试
字符串数组|特征向量|单元阵列的特征向量
指定为字符串数组的测试套件,特征向量,或单元阵列特征向量。单元阵列中的每个特征向量可以包含一个测试文件的名称,一个测试类,一个测试套件元素名称,一个包,其中包含您的测试类,一个文件夹包含测试文件,或一个包含测试文件的项目文件夹。
例子:testsuite (“myTestFile.m”)
例子:testsuite (“myTestFile / aTest”)
例子:testsuite (“mypackage.MyTestClass”)
例子:testsuite (pwd)
例子:testsuite ({pwd‘mypackage.MyTestClass’,‘myTestFile.m’,‘mypackage.subpackage})
例子:testsuite (C: /项目/ project1 /)
名称-值参数
指定可选的双参数作为Name1 = Value1,…,以=家
,在那里的名字
参数名称和吗价值
相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。
R2021a之前,用逗号来分隔每一个名称和值,并附上的名字
在报价。
例子:套件= testsuite(测试,“名字”,“productA_ *”)
创建一个测试套件测试
名字开始“productA_”
。
IncludeSubfolders
- - - - - -指标包括测试子文件夹
假
(默认)|真正的
|0
|1
指标包括子文件夹的测试套件,指定为假
或真正的
(0
或1
)。默认情况下,框架创建一个从测试套件在指定的文件夹和子文件夹。
IncludeSubpackages
- - - - - -子包中包括测试指标
假
(默认)|真正的
|0
|1
指标包括子包的测试套件,指定为假
或真正的
(0
或1
)。默认情况下,框架从测试创建一套指定的包,而不是在他们的子包。
IncludeReferencedProjects
- - - - - -指标包括引用项目的测试
假
(默认)|真正的
|0
|1
指标包括测试引用项目,指定为假
或真正的
。引用项目的更多信息,参见组件化大型项目。
InvalidFileFoundAction
- - - - - -行动,反对无效的测试文件
“警告”
(默认)|“错误”
行动,反对无效的测试文件在一个文件夹或包函数处理,指定为“警告”
或“错误”
。
“警告”
——函数问题警告每一个无效的测试文件在一个文件夹或包并创建一个测试套件的有效文件。“错误”
——函数将抛出一个错误如果找到一个无效的测试文件在一个文件夹或包。
一个无效的测试文件是一个测试文件的框架不能生成一个测试套件。例子包括一个测试文件,其中包含语法错误,一个基于函数的测试文件丢失本地功能,和一个文件测试
方法传递一个未定义的参数化属性。
BaseFolder
- - - - - -基础文件夹的名字
字符串数组|特征向量|单元阵列的特征向量
基础包含文件的文件夹的名称定义测试类、函数或脚本,指定为一个字符串数组,特征向量,或单元阵列特征向量。这个论点过滤器TestSuite
数组元素。的测试框架包括一个测试套件,测试
元素必须包含在一个指定的文件夹的基地BaseFolder
。如果没有一个测试
元素匹配基础文件夹,将返回一个空的测试套件。使用通配符*
匹配任意数量的字符。使用问号字符吗?
匹配一个字符。测试文件包中定义的基础是顶级包文件夹的父文件夹。
的名字
- - - - - -测试套件中元素的名称
字符串数组|特征向量|单元阵列的特征向量
测试套件的名称元素,指定为一个字符串数组,特征向量,或单元阵列特征向量。这个论点过滤器TestSuite
数组元素。的测试框架包括一个测试套件,的名字
财产的测试
元素必须匹配指定的名称之一的名字
。如果没有一个测试
元素有一个匹配的名称,将返回一个空的测试套件。使用通配符*
匹配任意数量的字符。使用问号字符吗?
匹配一个字符。
对于给定的测试文件,唯一地标识一个测试套件的名称元素的最小运行的部分测试内容。它包括包名、文件名(不含扩展),程序名称和参数化的信息。
ParameterProperty
- - - - - -参数化属性的名称
字符串数组|特征向量|单元阵列的特征向量
一个测试类的名称属性,定义了一个参数使用的测试套件元素,指定为一个字符串数组,特征向量,或单元阵列特征向量。这个论点过滤器TestSuite
数组元素。的测试框架包括一个测试套件,参数化
财产的测试
元素必须包含至少一个指定的属性名ParameterProperty
。如果没有一个测试
元素有一个匹配的属性名,返回一个空的测试套件。使用通配符*
匹配任意数量的字符。使用问号字符吗?
匹配一个字符。
ParameterName
- - - - - -参数的名称
字符串数组|特征向量|单元阵列的特征向量
参数名称使用的测试套件元素,指定为一个字符串数组,特征向量,或单元阵列特征向量。基于MATLAB生成参数名称测试类的属性定义了参数:
如果属性值是一个单元阵列,MATLAB生成的参数名称元素单元阵列的考虑他们的价值观,类型和尺寸。
如果属性值是一个结构,MATLAB生成结构的参数名称字段。
的ParameterName
参数过滤器TestSuite
数组元素。的测试框架包括一个测试套件,参数化
财产的测试
元素必须包含至少一个指定的参数名称ParameterName
。如果没有一个测试
元素有一个匹配的参数名称,将返回一个空的测试套件。使用通配符*
匹配任意数量的字符。使用问号字符吗?
匹配一个字符。
ProcedureName
- - - - - -测试程序的名称
字符串数组|特征向量|单元阵列的特征向量
测试程序的名称,指定为字符串数组,特征向量,或单元阵列特征向量。这个论点过滤器TestSuite
数组元素。的测试框架包括一个测试套件,ProcedureName
财产的测试
元素必须匹配指定的程序名称之一ProcedureName
。如果没有一个测试
元素有一个匹配的过程名,返回一个空的测试套件。使用通配符*
匹配任意数量的字符。使用问号字符吗?
匹配一个字符。
在基于类的测试中,测试程序的名称的名称测试
包含测试方法。在基于函数的测试,这是当地的一个函数的名称包含测试。在一个基于脚本的测试中,这是一个测试区产生的标题名称。不像一个测试套件的名称元素,测试程序的名称不包括任何包名称,文件名称或参数化的信息。
超类
- - - - - -类,测试类的名称来源于
字符串数组|特征向量|单元阵列的特征向量
类,测试类的名称来源于,指定为一个字符串数组,特征向量,或单元阵列特征向量。这个论点过滤器TestSuite
数组元素。的测试框架包括一个测试套件,TestClass
财产的测试
元素必须指向一个测试类,来自指定的类之一超类
。如果没有一个测试
元素匹配一个类,将返回一个空的测试套件。
标签
- - - - - -测试元素的名称标签
字符串数组|特征向量|单元阵列的特征向量
使用的测试套件测试标记的名称的元素,指定为一个字符串数组,特征向量,或单元阵列特征向量。这个论点过滤器TestSuite
数组元素。的测试框架包括一个测试套件,标签
财产的测试
元素必须包含至少一个指定的标签名称标签
。如果没有一个测试
元素有一个匹配的标记名称,将返回一个空的测试套件。使用通配符*
匹配任意数量的字符。使用问号字符吗?
匹配一个字符。
更多关于
从MLDATX文件创建测试套件
您可以使用testsuite
从一个MLDATX文件函数来创建一个测试套件(需要金宝app®测试™)。例如,套件= testsuite (“myTestFile.mldatx”)
创建一个从测试套件中指定的文件中myTestFile.mldatx
。
当你指定一个MLDATX文件,testsuite
创建一个套件包括所有的测试文件。你不能指导testsuite
创建一个从特定的测试套件MLDATX文件。
提示
另一种方法来创建一个显式的测试套件是使用
matlab.unittest.TestSuite
方法。当你指定的输入
testsuite
函数作为一个字符串数组或单元阵列特征向量(例如,套件= testsuite ([“Test1”、“Test2”])
),测试框架类型数组来减少共享测试夹具设置和清除操作。结果,测试可能运行在一个订单不同于输入数组中元素的顺序。执行测试运行的顺序,创建套件通过几个电话
testsuite
。例如,确保指定的测试Test1
指定的测试之前运行Test2
使用这个语法:套件= [testsuite (“Test1”)testsuite (“Test2”)]
版本历史
介绍了R2016aR2022b:指定要采取的行动对无效的测试文件
指定的测试框架是否发出警告或抛出一个错误当遇到一个无效的测试文件在一个文件夹或包,使用InvalidFileFoundAction
名称-值参数。
R2022b:参数名称来自细胞数组更具描述性的
当你指定一个非空的单元阵列参数化属性,测试框架生成参数名称从单元阵列的元素考虑他们的价值观,类型和尺寸。在以前的版本中,如果属性值的单元阵列特征向量,该框架生成单元阵列中的值的参数名称。否则,该框架指定参数名称value1
,value2
、…家
。
如果你的代码使用参数名来创建或过滤测试套件,取代旧的参数名称描述参数名称。例如,更新套件= testsuite (pwd,“ParameterName”,“value1”)
通过替换value1
一个描述性的参数名称。
R2022a:IncludeSubfolders
把文件夹和包一样
的IncludeSubfolders
名称-值参数相同的方式对待文件夹和包。例如,套件= testsuite (pwd IncludeSubfolders = true)
创建一个套件的测试文件在当前文件夹及其子文件夹中的任何一个,包括包文件夹。在以前的版本中,IncludeSubfolders
忽略了包文件夹。
R2021b:testsuite
忽略了项目文件没有定义测试程序
的testsuite
在MATLAB函数忽略了任何文件项目,不定义测试程序。例如,如果一个抽象TestCase
标记的类定义文件测试
分类、函数忽略了它。在以前的版本中,如果MATLAB产生错误testsuite
被称为一个项目使用了吗测试
分类的具体测试文件以外的任何文件。
R2021b:从项目的运行离不开创建测试套件Java虚拟机(JVM)软件
如果你开始没有Java MATLAB®虚拟机(JVM™)软件和创建一套从测试文件在一个项目中使用testsuite
,函数使用matlab.unittest.TestSuite.fromProject
方法来创建套件。如果你尝试运行测试套件没有JVM软件MATLAB产生一个错误,因为项目没有JVM软件不能打开。在以前的版本中,没有JVM软件MATLAB运行时,testsuite
使用matlab.unittest.TestSuite.fromFolder
创建一套测试文件的项目,以及测试框架运行生成的测试套件。
R2019a:在创建测试套件的测试MATLAB项目
当你的当前文件夹是一个项目的根文件夹或当你通过项目的根文件夹的路径testsuite
函数,函数创建一个测试套件的所有测试文件包含在标记的指定的项目测试
分类。
R2019a:包括测试项目引用
包含引用的项目测试套件的测试,使用IncludeReferencedProjects
名称-值参数。
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。