主要内容

测试套件

创建测试套件

描述

实例

套件=测试套件从当前文件夹创建一组测试,并以测验大堆

运行使用创建的测试套件测试套件,使用方法matlab.unittest.TestSuite,matlab.unittest.TestRunnermatlab.perftest.timeexperience.

套件=测试套件(测验)从一组指定的测试创建套件。

实例

套件=测试套件(测验,名称、值)使用一个或多个指定的附加选项创建一组测试名称、值配对参数。

例子

全部崩溃

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

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

%%测试双级expClass=“双人”;act=one;断言(isa(act,expClass))%%测试单个类expClass=“单身”行动(“单身”);断言(isa(法案,扩展类))%%测试uint16类expClass=‘uint16’行动(‘uint16’);断言(isa(法案,扩展类))%%测试尺寸expSize=[7 13];act=one([7 13]);断言(isequal(size(act),expSize))%%测试值act=1(42);断言(唯一(act)==1)

myExample文件夹,创建基于函数的测试,目测.

作用测试=目测测试=功能测试(localfunctions);作用doubleClassTest(testCase)actValue=眼睛;verifyClass(testCase,actValue,“双人”)作用singleClassTest(testCase)actValue=eye(“单身”); verifyClass(测试用例、actValue、,“单身”)作用uint16ClassTest(testCase)actValue=眼睛(‘uint16’); verifyClass(测试用例、actValue、,‘uint16’)作用sizeTest(testCase)expSize=[7 13];actValue=eye(expSize);verifySize(testCase,actValue,expSize);作用valueTest(testCase)actValue=eye(42);verifyEqual(testCase,unique(diag(actValue)),1)%对角线是1verifyEqual(testCase,unique(triu(actValue,1)),0)%上三个VAL为0verifyEqual(测试用例,唯一(tril(actValue,-1)),0)%较低的三个VAL为0

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

套件=测试套件
suite=1×10测试数组,属性为:Name BaseFolder procedure重命名SharedTestFixtures参数化标记测试包括:0个参数化、0个共享测试夹具类、0个标记。

如果奥内斯特视力测试MATLAB是您文件夹中唯一的测试吗®创建一组10个测试。

在中查看测试的名称一套.

{suite.Name}'
ans='eyeTest/doubleClassTest''eyeTest/singleClassTest''eyeTest/uint16ClassTest''eyeTest/sizeTest''eyeTest/valueTest''OneST/TestDoubleClass''OneST/TestSingleClass''OneST/TestUINT16类''OneST/TestSize''OneST/TestValues'

从中的所有测试创建测试套件目测.

suite2=testsuite(“视力测试”)
suite2=1×5测试数组,其属性为:Name BaseFolder procedure重命名SharedTestFixtures参数化标记测试包括:0个参数化、0个共享测试夹具类、0个标记。

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

classdeftestZeros性质(TestParameter)类型={“单身”,“双人”,‘uint16’};特大号=结构(“s2d”,[3 3],‘s3d’,[2 5 4]);终止方法(测试)作用testClass(testCase,type,outSize)testCase.verifyClass(zero(outSize,type),type);终止作用testSize(testCase,特大号)testCase.verifySize(零(特大号),特大号);终止作用testDefaultClass(testCase)testCase.verifyClass(零,“双人”);终止作用testDefaultSize(testCase)testCase.verifySize(零[1]);终止作用testDefaultValue(testCase)testCase.verifyEqual(零,0);终止终止终止

完整的测试套件有11个测试元素:6个来自测试类方法,从测试尺寸方法,并从testDefaultClass,testDefaultSizetestDefaultValue方法。

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

套件=测试套件(“测试零”,“姓名”,“*默认值*”)
suite=1x3测试数组,具有以下属性:名称过程重命名TestClass BaseFolder参数化SharedTestFixtures标记测试包括:0个参数化、0个共享测试夹具类、0个标记。

从使用特大号参数属性。

套件=测试套件(“测试零”,“参数属性”,“超大”)
suite=1x8测试数组,具有以下属性:名称过程重命名TestClass BaseFolder参数化SharedTestFixtures标记测试包括:5个唯一参数化、0个共享测试夹具类、0个标记。

测试套件包含八个使用特大号参数属性:从测试类方法和来自测试尺寸方法

输入参数

全部崩溃

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

例子:testsuite('myTestFile.m')

例子:testsuite('myTestFile/aTest')

例子:testsuite('mypackage.MyTestClass')

例子:测试套件(pwd)

例子:testsuite({'mypackage.MyTestClass','myTestFile.m',pwd,'mypackage.subpackage'})

例子:testsuite('C:/projects/project1/')

名称值参数

指定可选的逗号分隔的字符对名称、值论据。名称是参数名和价值是对应的值。名称必须出现在引号内。您可以按任意顺序指定多个名称和值对参数,如下所示:名称1,值1,…,名称,值.

例子:套件=测试套件(测试、'Name'、'productA_*')从中创建测试套件测验名称以“产品”.

包含定义测试类、函数或脚本的文件的基本文件夹的名称,该文件被指定为字符串数组、字符向量或字符向量的单元格数组。此参数用于筛选测试套件数组元素。对于要在套件中包含测试的测试框架测验元素必须包含在由指定的一个基本文件夹中基本文件夹.如果没有测验元素与基文件夹匹配,则返回空测试套件。请使用通配符*匹配任意数量的字符。请使用问号字符?匹配单个字符。对于包中定义的测试文件,基本文件夹是顶级包文件夹的父文件夹。

在套件的子文件夹中包含测试的指示器,指定为错误的符合事实的(01.)。默认情况下,框架通过指定文件夹中的测试而不是其子文件夹中的测试创建套件。

数据类型:必然的

将测试包含在套件子包中的指示器,指定为错误的符合事实的(01.)。默认情况下,框架通过指定包中的测试而不是其子包中的测试创建套件。

数据类型:必然的

指标包括参考项目的测试,具体如下错误的符合事实的。有关引用项目的详细信息,请参阅将大型项目组件化.

数据类型:必然的

套件元素的名称,指定为字符串数组、字符向量或字符向量的单元格数组。此参数用于筛选测试套件数组元素。对于要在套件中包含测试的测试框架名称财产测验元素必须与指定的名称之一匹配名称.如果没有测验元素具有匹配的名称,则返回空的测试套件。请使用通配符*匹配任意数量的字符。请使用问号字符?匹配单个字符。

定义测试套件元素使用的参数的测试类属性的名称,该参数指定为字符串数组、字符向量或字符向量的单元格数组。此参数用于筛选测试套件数组元素。对于要在套件中包含测试的测试框架参数化财产测验元素必须至少包含一个由指定的属性名参数解释性.如果没有测验元素具有匹配的属性名称,则返回空测试套件。请使用通配符*匹配任意数量的字符。请使用问号字符?与单个字符匹配。

测试套件元素使用的参数的名称,指定为字符串数组、字符向量或字符向量的单元格数组。MATLAB根据定义参数的测试类属性生成参数名称:

  • 如果属性值是字符向量的单元格数组,MATLAB将根据单元格数组中的值生成参数名称。否则,MATLAB将参数名称指定为价值1,价值2, …,瓦伦.

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

这个参数名参数过滤器测试套件数组元素。对于要在套件中包含测试的测试框架参数化财产测验元素必须至少包含一个由指定的参数名参数名.如果没有测验元素具有匹配的参数名称,则返回空测试套件。请使用通配符*匹配任意数量的字符。请使用问号字符?匹配单个字符。

测试过程的名称,指定为字符串数组、字符向量或字符向量的单元格数组。此参数用于筛选测试套件数组元素。对于要在套件中包含测试的测试框架程序重命名财产测验元素必须与指定的过程名称之一匹配程序重命名.如果没有测验元素具有匹配的过程名称,则返回空测试套件。请使用通配符*匹配任意数量的字符。请使用问号字符?匹配单个字符。

在基于类的测试中程序重命名是测试方法的名称。在基于函数的测试中,它是包含测试的本地函数的名称。在基于脚本的测试中,它是从测试节标题生成的名称。与名称,测试过程的名称不包括任何类或包名称或有关参数化的信息。

测试类派生自的类的名称,指定为字符串数组、字符向量或字符向量的单元格数组。此参数筛选测试套件数组元素。对于要在套件中包含测试的测试框架测试类财产测验元素必须指向从指定的类之一派生的测试类超类.如果没有测验元素匹配一个类,则返回一个空的测试套件。

测试套件元素使用的测试标记的名称,指定为字符串数组、字符向量或字符向量的单元格数组。此参数用于筛选测试套件数组元素。对于要在套件中包含测试的测试框架标签财产测验元素必须至少包含一个由指定的标记名标签.如果没有测验元素具有匹配的标记名,则返回空测试套件。请使用通配符*匹配任意数量的字符。请使用问号字符?匹配单个字符。

更多关于

全部崩溃

从MLDATX文件创建测试套件

你可以使用测试套件函数从MLDATX文件创建测试套件(需要万博1manbetx®测验™).例如,suite=testsuite('myTestFile.mldatx')从文件中指定的测试创建套件myTestFile.mldatx.

指定MLDATX文件时,测试套件创建包含文件中所有测试的套件。您不能指示测试套件从MLDATX文件中的特定测试创建套件。

提示

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

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

  • 当您将输入指定给测试套件用作字符向量的字符串数组或单元格数组(例如,suite=testsuite([“Test1”、“Test2”])),测试框架对数组进行排序,以减少共享测试夹具设置和拆卸操作。因此,测试的运行顺序可能与输入数组中元素的顺序不同。

    要强制执行测试运行的顺序,请通过使用多个调用来创建套件测试套件。例如,确保测试1在指定的测试之前运行测试2,请使用以下语法:

    suite=[testsuite](“测试1”)测试套件(“测试2”)]

兼容性考虑

全部展开

R2021b中的行为发生了变化

R2016a中引入