文档

testsuite

创建测试套件

语法

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

描述

例子

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

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

Suite = testsuite测试从一组指定测试创建一个套件。

例子

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

例子

全部折叠

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

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

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

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

函数test = eyeTest test = functiontests(localfunctions);函数doubleClassTest(testCase) actValue = eye;actValue verifyClass (testCase,“双”函数singleClassTest(testCase)“单一”);actValue verifyClass (testCase,“单一”函数uint16classstest (testCase)“uint16”);actValue verifyClass (testCase,“uint16”函数(1) expSize = [7 13];actValue = eye(expSize);verifySize (testCase actValue expSize);函数valueTest(testCase) actValue = eye(42);verifyEqual (testCase,独特的诊断接头(actValue)), 1)%对角线是15verifyEqual (testCase,独特的(triu (actValue 1)), 0)%上限三值为0verifyEqual (testCase,独特的下三角阵(actValue 1)), 0)%的低三阶差值为0

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

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

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

中查看测试的名称套件

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

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

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

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

classdeftestzero < matlab.unittest.TestCase属性(TestParameter) type = {“单一”“双”“uint16”};outSize = struct“s2d”3 [3],“s3d”,[2 5 4]);结束方法(测试)函数testClass(testCase, type, outSize) testCase. verifyclass (0 (outSize,type), type);结束函数testCase. verifysize (0 (outSize), outSize);结束函数testDefaultClass (testCase) testCase.verifyClass (0,“双”);结束函数testDefaultSize testCase (testCase)。verifySize(0, [1 1]);结束函数testDefaultValue (testCase) testCase.verifyEqual (0, 0);结束结束结束

完整的测试套件有11个测试元素:6个来自testClass方法,2从testSize方法,和1分别来自testDefaultClasstestDefaultSize,testDefaultValue方法。

从测试元素中创建一个测试套件,其中包含测试名称“默认”

Suite = testsuite“testZeros”“名字”“*默认*”
套件= 1x3测试数组的属性:名称ProcedureName TestClass BaseFolder参数化SharedTestFixtures标签测试包括:0参数化,0共享测试夹具类,0标签。

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

Suite = testsuite“testZeros”“ParameterProperty”“巨大的”
套件= 1x8测试数组与属性:名称ProcedureName TestClass BaseFolder参数化SharedTestFixtures标签测试包括:5个唯一的参数化,0个共享的测试夹具类,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(测试,'Name','productA_*')创建一个测试套件测试名字以“productA_”

全部折叠

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

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

数据类型:逻辑

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

数据类型:逻辑

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

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

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

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

在班级考试中ProcedureName是测试方法的名称。在基于函数的情况下,test是包含测试的本地函数的名称。在基于脚本的测试中,它是从测试部分标题生成的名称。不像名字,测试过程的名称不包括任何类或包名称或有关参数化的信息。

测试类派生的类的名称,指定为字符向量或字符串标量。这个参数过滤了TestSuite数组元素。

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

提示

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

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

在R2016a中引入

这个话题有帮助吗?