主要内容

testsuite

创建测试套件

描述

例子

套件= testsuite从你当前的文件夹中,创建一个测试套件,套件作为回报TestSuite数组中。

创建一个测试套件运行testsuite,可以使用运行的方法matlab.unittest.TestSuite,matlab.unittest.TestRunner,或matlab.perftest.TimeExperiment

套件= testsuite (测试)创建一个指定的测试套件。

例子

套件= 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_”

测试识别

全部折叠

指标包括子文件夹的测试套件,指定为真正的(01)。默认情况下,框架创建一个从测试套件在指定的文件夹和子文件夹。

指标包括子包的测试套件,指定为真正的(01)。默认情况下,框架从测试创建一套指定的包,而不是在他们的子包。

指标包括测试引用项目,指定为真正的。引用项目的更多信息,参见组件化大型项目

行动,反对无效的测试文件在一个文件夹或包函数处理,指定为“警告”“错误”

  • “警告”——函数问题警告每一个无效的测试文件在一个文件夹或包并创建一个测试套件的有效文件。

  • “错误”——函数将抛出一个错误如果找到一个无效的测试文件在一个文件夹或包。

一个无效的测试文件是一个测试文件的框架不能生成一个测试套件。例子包括一个测试文件,其中包含语法错误,一个基于函数的测试文件丢失本地功能,和一个文件测试方法传递一个未定义的参数化属性。

测试过滤

全部折叠

基础包含文件的文件夹的名称定义测试类、函数或脚本,指定为一个字符串数组,特征向量,或单元阵列特征向量。这个论点过滤器TestSuite数组元素。的测试框架包括一个测试套件,测试元素必须包含在一个指定的文件夹的基地BaseFolder。如果没有一个测试元素匹配基础文件夹,将返回一个空的测试套件。使用通配符*匹配任意数量的字符。使用问号字符吗?匹配一个字符。测试文件包中定义的基础是顶级包文件夹的父文件夹。

测试套件的名称元素,指定为一个字符串数组,特征向量,或单元阵列特征向量。这个论点过滤器TestSuite数组元素。的测试框架包括一个测试套件,的名字财产的测试元素必须匹配指定的名称之一的名字。如果没有一个测试元素有一个匹配的名称,将返回一个空的测试套件。使用通配符*匹配任意数量的字符。使用问号字符吗?匹配一个字符。

对于给定的测试文件,唯一地标识一个测试套件的名称元素的最小运行的部分测试内容。它包括包名、文件名(不含扩展),程序名称和参数化的信息。

一个测试类的名称属性,定义了一个参数使用的测试套件元素,指定为一个字符串数组,特征向量,或单元阵列特征向量。这个论点过滤器TestSuite数组元素。的测试框架包括一个测试套件,参数化财产的测试元素必须包含至少一个指定的属性名ParameterProperty。如果没有一个测试元素有一个匹配的属性名,返回一个空的测试套件。使用通配符*匹配任意数量的字符。使用问号字符吗?匹配一个字符。

参数名称使用的测试套件元素,指定为一个字符串数组,特征向量,或单元阵列特征向量。基于MATLAB生成参数名称测试类的属性定义了参数:

  • 如果属性值是一个单元阵列,MATLAB生成的参数名称元素单元阵列的考虑他们的价值观,类型和尺寸。

  • 如果属性值是一个结构,MATLAB生成结构的参数名称字段。

ParameterName参数过滤器TestSuite数组元素。的测试框架包括一个测试套件,参数化财产的测试元素必须包含至少一个指定的参数名称ParameterName。如果没有一个测试元素有一个匹配的参数名称,将返回一个空的测试套件。使用通配符*匹配任意数量的字符。使用问号字符吗?匹配一个字符。

测试程序的名称,指定为字符串数组,特征向量,或单元阵列特征向量。这个论点过滤器TestSuite数组元素。的测试框架包括一个测试套件,ProcedureName财产的测试元素必须匹配指定的程序名称之一ProcedureName。如果没有一个测试元素有一个匹配的过程名,返回一个空的测试套件。使用通配符*匹配任意数量的字符。使用问号字符吗?匹配一个字符。

在基于类的测试中,测试程序的名称的名称测试包含测试方法。在基于函数的测试,这是当地的一个函数的名称包含测试。在一个基于脚本的测试中,这是一个测试区产生的标题名称。不像一个测试套件的名称元素,测试程序的名称不包括任何包名称,文件名称或参数化的信息。

类,测试类的名称来源于,指定为一个字符串数组,特征向量,或单元阵列特征向量。这个论点过滤器TestSuite数组元素。的测试框架包括一个测试套件,TestClass财产的测试元素必须指向一个测试类,来自指定的类之一超类。如果没有一个测试元素匹配一个类,将返回一个空的测试套件。

使用的测试套件测试标记的名称的元素,指定为一个字符串数组,特征向量,或单元阵列特征向量。这个论点过滤器TestSuite数组元素。的测试框架包括一个测试套件,标签财产的测试元素必须包含至少一个指定的标签名称标签。如果没有一个测试元素有一个匹配的标记名称,将返回一个空的测试套件。使用通配符*匹配任意数量的字符。使用问号字符吗?匹配一个字符。

更多关于

全部折叠

从MLDATX文件创建测试套件

您可以使用testsuite从一个MLDATX文件函数来创建一个测试套件(需要金宝app®测试™)。例如,套件= testsuite (“myTestFile.mldatx”)创建一个从测试套件中指定的文件中myTestFile.mldatx

当你指定一个MLDATX文件,testsuite创建一个套件包括所有的测试文件。你不能指导testsuite创建一个从特定的测试套件MLDATX文件。

提示

  • 如果你不需要显式地创建一个测试套件,使用runtestsrunperf创建套件含蓄地在运行测试之前。

  • 另一种方法来创建一个显式的测试套件是使用matlab.unittest.TestSuite方法。

  • 当你指定的输入testsuite函数作为一个字符串数组或单元阵列特征向量(例如,套件= testsuite ([“Test1”、“Test2”])),测试框架类型数组来减少共享测试夹具设置和清除操作。结果,测试可能运行在一个订单不同于输入数组中元素的顺序。

    执行测试运行的顺序,创建套件通过几个电话testsuite。例如,确保指定的测试Test1指定的测试之前运行Test2使用这个语法:

    套件= [testsuite (“Test1”)testsuite (“Test2”)]

版本历史

介绍了R2016a

全部展开