文档

testsuite

创建测试套件

语法

套件=测试套件
套件=测试套件(测试)
suite = testsuite(tests,名称,值)

描述

例子

套件=测试套件从当前文件夹创建测试套件,并将该套件作为测试数组中。

来运行用。创建的测试套件testsuite,使用运行的方法matlab.unittest.TestSuite,matlab.unittest.TestRunner,或matlab.perftest.TimeExperiment

套件= testsuite(测试从指定的测试集创建套件。

例子

套件= testsuite(测试,名称,值创建带有一个或多个指定的附加选项的测试套件名称,值对参数。

例子

全部折叠

创建一个文件夹myExample在当前工作文件夹中,将其设为当前工作文件夹,并创建几个测试。

myExample文件夹,创建基于脚本的测试,onesTest.m

%%测试双类expClass =“双”;行动=几个;断言(isa(行动,expClass))测试单个类expClass =“单一”;Act = one)“单一”);断言(isa(行动,expClass))测试uint16类expClass =“uint16”;Act = one)“uint16”);断言(isa(行动,expClass))%%测试大小expSize = [7 13];Act = ones([7 13]);断言(isequal(大小(act), expSize))测试值%%Act = ones(42);断言(unique(act) == 1)

myExample文件夹,创建一个基于功能的测试,eyeTest.m

函数测试= eyeTest测试=函数测试(localfunctions);函数doubleClassTest(testCase) actValue = eye;actValue verifyClass (testCase,“双”函数singleClassTest(testCase) actValue = eye(“单一”);actValue verifyClass (testCase,“单一”函数uint16ClassTest(testCase) actValue = eye(“uint16”);actValue verifyClass (testCase,“uint16”函数sizeTest(testCase) expSize = [7 13];actValue = eye(expSize);verifySize (testCase actValue expSize);函数valueTest(testCase) actValue = eye(42);verifyEqual (testCase,独特的诊断接头(actValue)), 1)%对角线为1sverifyEqual (testCase,独特的(triu (actValue 1)), 0)%上迭代值为0verifyEqual (testCase,独特的下三角阵(actValue 1)), 0)%的低值值为0

从当前文件夹中的所有测试创建测试套件。

套件=测试套件
suite = 1×10带有属性的测试数组:名称BaseFolder ProcedureName SharedTestFixtures参数化标签测试包括:0个参数化,0个共享测试Fixture类,0个标签。

如果诚实的而且eyesTest是你文件夹中唯一的测试,MATLAB®创建包含10个测试的套件。

中查看测试的名称套件

{套件。名称}’
ans = 'eyeTest/doubleClassTest' 'eyeTest/uint16ClassTest' 'eyeTest/sizeTest' 'eyeTest/valueTest' 'onesTest/TestDoubleClass' 'onesTest/TestSingleClass' 'onesTest/TestSize' 'onesTest/TestValues'

中的所有测试创建测试套件eyeTest

Suite2 = testsuite(“eyeTest”
suite2 = 1×5带有属性的测试数组:名称BaseFolder ProcedureName SharedTestFixtures参数化标签测试包括:0参数化,0共享测试Fixture类,0标签。

在你的工作文件夹中,创建一个基于类的测试,testZeros.m.该类包含五个测试方法。

classdeftestzero < matlab.unittest.TestCase属性(TestParameter)类型= {“单一”,“双”,“uint16”};outSize = struct(“s2d”3 [3],“s3d”,[2 5 4]);结束方法(测试)函数testCase. verifyclass (0 (outSize,type), type);结束函数testCase. verifysize (0 (outSize), outSize);结束函数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”,“名字”,“*默认*”
名称BaseFolder ProcedureName SharedTestFixtures参数化标签测试包括:0个参数化,0个共享测试Fixture类,0个标签。

属性的测试元素创建测试套件巨大的参数属性。

套件= testsuite(“testZeros”,“ParameterProperty”,“巨大的”
名称BaseFolder ProcedureName SharedTestFixtures参数化标签测试包括:5个惟一参数化,0个共享测试Fixture类,0个标签。

测试套件包含八个使用巨大的参数属性:六从testClass方法和二从testSize方法。

输入参数

全部折叠

指定为字符向量或字符向量单元格数组的测试套件。单元格数组中的每个字符向量可以包含测试文件、测试类、测试套件元素名称、包含测试类的包或包含测试文件的文件夹的名称。

例子:testsuite(“ATestFile.m”)

例子:testsuite(“ATestFile / aTest”)

例子:testsuite(“mypackage.MyTestClass”)

例子:testsuite (pwd)

例子:testsuite ({pwd‘mypackage.MyTestClass’,‘ATestFile.m’,‘mypackage.subpackage})

名称-值对实参

指定逗号分隔的可选对名称,值参数。的名字参数名称和价值对应的值。的名字必须出现在单引号内(' ').可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:suite = testsuite(tests,'Name','productA_*')从创建测试套件测试名字以“productA_”

全部折叠

文件夹的名称,该文件夹包含定义测试类、函数或脚本的文件,指定为字符向量。这个参数过滤了TestSuite数组元素。要在套件中包含测试元素,指定的基文件夹必须包含该测试元素。使用通配符,,以匹配任意数量的字符。使用问号字符,?,以匹配单个字符。对于包中定义的测试文件,基本文件夹是顶级包文件夹的父文件夹。

指示符将测试包含在套件中的子文件夹中,指定为真正的01).默认情况下,框架从指定文件夹中的测试创建套件,而不是在它们的子文件夹中。

数据类型:逻辑

在套件的子包中包含测试的指示器,指定为真正的01).默认情况下,框架从指定包中的测试创建套件,而不是在其子包中。

数据类型:逻辑

套件元素的名称,指定为字符向量。这个参数过滤了TestSuite数组元素。要使测试框架在套件中包含测试,请使用的名字属性必须匹配指定的名称。使用通配符,,以匹配任意数量的字符。使用问号字符,?,以匹配单个字符。

测试套件元素使用的参数名称,指定为字符向量。这个参数过滤了TestSuite数组元素。使用通配符,,以匹配任意数量的字符。使用问号字符,?,以匹配单个字符。

定义测试套件元素使用的参数的属性的名称,指定为字符向量。这个参数过滤了TestSuite数组元素。使用通配符,,以匹配任意数量的字符。使用问号字符,?,以匹配单个字符。

测试过程的名称,指定为字符向量。这个参数过滤了TestSuite数组元素。使用通配符,,以匹配任意数量的字符。使用问号字符,?,以精确匹配一个字符。

在基于类的测试中ProcedureName测试方法的名称。在基于函数的测试中,test是包含测试的局部函数的名称。在基于脚本的测试中,它是由测试节标题生成的名称。不像的名字,测试过程的名称不包含任何类或包名称或关于参数化的信息。

测试元素标记的名称,指定为字符向量或字符串标量。这个参数过滤了TestSuite数组元素。使用通配符,,以匹配任意数量的字符。使用问号字符,?,以精确匹配一个字符。

提示

  • 如果您不需要显式地创建测试套件,请使用runtestsrunperf在运行测试之前隐式创建套件。

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

在R2016a中介绍

这个话题有帮助吗?