文档

runtests

运行一组测试

语法

结果=运行测试
结果=运行测试(测试)
results =运行测试(测试,名称,值)

描述

结果=运行测试运行当前文件夹中的所有测试,并将结果作为TestResult对象。

例子

结果=运行测试(测试运行指定的测试集。

例子

结果=运行测试(测试名称,值运行一组带有一个或多个指定的附加选项的测试名称,值对参数。

例子

全部折叠

创建文件夹myExample在您当前的工作文件夹,并更改到该文件夹。

myExample文件夹,创建测试脚本,typeTest.m

%%测试双类经验值=“双”;Act = ones;断言(isa(行动,经验值))%%测试单个类经验值=“单一”;Act = ones(“单一”);断言(isa(行动,经验值))%%测试uint16类经验值=“uint16”;Act = ones(“uint16”);断言(isa(行动,经验值))

myExample文件夹,创建测试脚本,sizeValueTest.m

测试大小Exp = [7 13];Act = ones([7 13]);断言(isequal(大小(act),经验值))%%测试值Act = ones(42);Assert (unique(act) == 1)

运行当前文件夹中的所有测试。

runtests
运行sizeevaluetest ..已完成sizeevaluetest __________正在运行typeTest…Done typeTest __________ ans = 1x5 TestResult数组,属性:名称通过失败不完整持续时间详细信息总计:5通过,0失败,0不完整0.038077秒测试时间。

MATLAB®运行5个测试。有2个通过测试sizeValueTest3个通过测试typeTest

创建如下所示的测试文件,并将其保存为runtestsExampleTest.m在MATLAB路径上。

函数测试= runtestsExampleTest测试=功能测试(localfunctions);函数testFunctionOne (testCase)

运行测试。

结果=运行测试(“runtestsExampleTest.m”);
运行runtestsExampleTest。Done runtestsExampleTest __________

如果不存在,创建测试文件,runtestsExampleTest.m在上面的例子中。

创建子文件夹,人体,并在该文件夹中创建以下文件runtestsExampleSubFolderTest.m文件。

函数测试= runtestsExampleSubFolderTest测试=功能测试(localfunctions);函数testFunctionTwo (testCase)

运行上面文件夹中的测试人体通过设置“IncludeSubfolders”为true。

结果=运行测试(pwd,“IncludeSubfolders”,真正的);
运行runtestsExampleTest。已完成runtestsExampleTest __________正在运行runtestsExampleSubFolderTest。Done runtestsExampleSubFolderTest __________

runtests在当前文件夹和子文件夹中运行测试。

如果没有指定“IncludeSubfolders”属性。runtests函数,则不运行子文件夹中的测试。

结果=运行测试(pwd);
运行runtestsExampleTest。Done runtestsExampleTest __________

创建以下测试文件,并将其保存为runInParallelTest.m在MATLAB中®路径。

函数测试= runInParallelTest测试=函数测试(localfunctions);函数外种皮(testCase) verifyEqual (testCase 5 5);函数的(testCase) verifyTrue (testCase、逻辑(1));函数testC (testCase) verifySubstring (testCase,“SomeLongText”“长”);函数testD(testCase) verifySize(testCase,ones(2,5,3),[2 5 3]);函数证人(testCase) verifyGreaterThan (testCase 3 2);函数testF (testCase) verifyEmpty (testCase, {},单元格数组不是空的);函数testG (testCase) verifyMatches (testCase,“一些文本”“一些(Tt) ext”);

并行运行测试。并行运行测试需要使用并行计算工具箱™。测试框架可能会改变组的顺序和数量,或者在每个组中包含哪些测试。

结果=运行测试(“runInParallelTest”“UseParallel”,真正的);
把测试分成7组,在4个工作人员身上运行。---------------- 完成组2  ---------------- runInParallelTest运行。完成runInParallelTest  __________ ---------------- 完成3组  ---------------- runInParallelTest运行。完成runInParallelTest  __________ ---------------- 完成组1  ---------------- runInParallelTest运行。完成runInParallelTest  __________ ---------------- 完成集团4  ---------------- runInParallelTest运行。完成runInParallelTest  __________ ---------------- 完成集团6  ---------------- runInParallelTest运行。完成runInParallelTest  __________ ---------------- 完成集团5  ---------------- runInParallelTest运行。完成runInParallelTest  __________ ---------------- 完成集团7  ---------------- runInParallelTest运行。完成runInParallelTest __________

在工作文件夹中,创建testZeros.m.这个类包含四个测试方法。

classdeftestZeros < matlab.unittest.TestCase属性(TestParameter) type = {“单一”“双”“uint16”};outSize = struct(“s2d”3 [3],“s3d”,[2 5 4]);结束方法(测试)函数testCase. verifyclass(零(outSize,类型),类型);结束函数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方法,并从testDefaultClasstestDefaultSize,testDefaultValue方法。

在命令提示符下,运行使用巨大的参数属性。

runtests (“testZeros”“ParameterProperty”“巨大的”
运行testZeros ........Done testZeros __________ ans = 1x8带有属性的TestResult数组:Name Passed Failed Incomplete Duration Details总计:8 Passed, 0 Failed, 0 Incomplete. 0.11217秒测试时间。

runtests函数执行了八个使用巨大的参数属性:从testClass方法和两个从testSize方法。

在命令提示符下,运行使用参数名称。

runtests (“testZeros”“ParameterName”“单一”
运行testzero ..Done testZeros __________ ans = 1x2带有属性的TestResult数组:Name Passed Failed Incomplete Duration Details总计:2 Passed, 0 Failed, 0 Incomplete. 0.022721秒测试时间。

runtests函数执行了两个测试testClass方法,使用巨大的参数名称。

输入参数

全部折叠

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

例子:runtests(“ATestFile.m”)

例子:runtests(“ATestFile / aTest”)

例子:runtests(“mypackage.MyTestClass”)

例子:runtests (pwd)

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

名称-值对参数

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

例子:runtests(测试,“名字”,“productA_ *”)运行名称以“productA_”

全部折叠

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

指示灯,在运行时应用调试功能测试,指定为真正的01).例如,如果遇到测试失败,框架将暂停测试执行以进入调试模式。

数据类型:逻辑

指示符,在指定为的子文件夹中运行测试真正的01).默认情况下,框架在指定的文件夹中运行测试,但不在其子文件夹中运行。

数据类型:逻辑

在子包中运行测试的指示符,指定为真正的01).默认情况下,框架在指定的包中运行测试,但不在它们的子包中运行。

数据类型:逻辑

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

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

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

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

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

运行时应用严格检查的指示灯测试,指定为真正的01).例如,如果测试发出警告,框架将生成确认失败。

数据类型:逻辑

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

指示符以并行运行测试,指定为真正的01).默认情况下runtests连续运行测试。如果你设置UseParallel真正的,runtests函数将测试套件划分为单独的组,并在以下情况下并行运行这些组:

  • 安装“并行计算工具箱”。

  • 存在一个开放的并行池,或者在并行首选项中启用了自动创建池。

否则,runtests以串行方式运行测试,而不管的值如何UseParallel

请注意

并行运行测试需要“并行计算工具箱”。测试框架可能会改变组的顺序和数量,或者在每个组中包含哪些测试。

并行测试可能与其他选项不兼容。例如,测试在串行if中进行“UseParallel”而且“调试”都设置为true。

数据类型:逻辑

测试运行的详细级别,指定为从1到4的整数值或matlab.unittest.Verbosity枚举对象。的runtests方法记录的测试运行的进度和消息TestCase.log方法在指定的详细级别或更低的级别。类的成员对应整型值matlab.unittest.Verbosity枚举。

数字表示法 对应枚举对象 冗长的描述
1 matlab.unittest.Verbosity.Terse

最小的信息

2 matlab.unittest.Verbosity.Concise

信息量适中

3. matlab.unittest.Verbosity.Detailed

一些补充信息

4 matlab.unittest.Verbosity.Verbose

大量的补充信息

在R2013b中引入

这个话题有用吗?