主要内容

matlab.unittest.TestSuite.fromFile

班级:matlab.unittest.TestSuite
包:matlab.unittest.

创造testsuite.来自测试文件的数组

描述

例子

套件= matlab.unittest.testsuite.fromfile(文件创建一个testsuite.中所有测试的数组文件.当测试套件运行时,matlab®将当前文件夹更改为定义测试内容的文件夹,并将其添加到路径中,以便在测试运行期间。

例子

套件= matlab.unittest.testsuite.fromfile(文件年代创建一个testsuite.中所有测试的数组文件满足选择器指定的条件,年代

例子

套件= matlab.unittest.testsuite.fromfile(___名称,价值创建一个testsuite.具有由一个或多个指定的附加选项的数组名称,价值对论点。您可以使用此语法与先前语法的任何输入参数。

输入参数

文件

测试文件的绝对或相对路径,指定为字符向量或字符串标量。

年代

选择器,指定为来自的类的实例matlab.unittest.selector包中。

名称-值参数

指定可选的逗号分隔的对名称,价值论点。的名字参数名和价值是对应的值。的名字必须出现在引号内。您可以以任何顺序指定多个名称和值对参数名称1,值1,…,名称,值

BaseFolder.

包含定义测试的文件的文件夹名称,该文件指定为字符串数组、字符向量或字符向量的单元格数组。这个论点过滤器testsuite.数组元素。对于要在套件中包含测试的测试框架测试元素必须包含在指定的基文件夹中BaseFolder..如果没有测试元素与基本文件夹匹配,返回一个空的测试套件。使用通配符匹配任意数量的字符。使用问号字符匹配一个字符。

ExternalParameters

一系列matlab.unittest.parameters.Parameter用于参数化测试的实例。该框架使用这些外部参数代替参数化测试中定义的相应参数。有关更多信息,请参阅在参数化测试中使用外部参数

的名字

套件元素的名称,指定为字符串阵列,字符向量或字符向量的单元格数组。这个论点过滤器testsuite.数组元素。对于要在套件中包含测试的测试框架的名字财产测试元素必须与指定的名称之一匹配的名字.如果没有测试元素具有匹配的名称,则返回一个空的测试套件。使用通配符匹配任意数量的字符。使用问号字符匹配一个字符。

ParameterProperty

定义测试套件元素使用的参数的测试类属性的名称,指定为字符串阵列,字符向量或字符向量的单元数组。这个论点过滤器testsuite.数组元素。对于要在套件中包含测试的测试框架参数化财产测试元素必须至少包含由ParameterProperty.如果没有测试元素具有匹配的属性名,则返回一个空的测试套件。使用通配符匹配任意数量的字符。使用问号字符匹配单个字符。

ParameterName.

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

  • 如果属性值是字符向量的单元格数组,MATLAB将从单元格数组中的值生成参数名称。否则,MATLAB指定参数名为value1value2,......,

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

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

程序重命名

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

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

超类

测试类派生的类的名称,指定为字符串数组、字符向量或字符向量的单元数组。这个论点过滤器testsuite.数组元素。对于要在套件中包含测试的测试框架TestClass财产测试元素必须指向从指定的类之一派生的测试类超类.如果没有测试元素匹配类,则返回一个空的测试套件。

标签

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

输出参数

套件

一组测试,指定为amatlab.unittest.Test大批。

属性

静态 真的

要了解方法的属性,请参见方法属性

例子

展开全部

单元测试功能:

功能res = add5(x)%Add5增量输入5。如果~isa(x,“数字”)错误(“折扣:InputMustBeNumeric”“输入必须是数字。”结束Res = x + 5;结束

TestCase包含测试方法的类:

classdefAdd5Test < matlab.unittest.TestCase方法(测试)功能testDoubleOut(testCase)actOutput=add5(1);testCase.verifyClass(actOutput,'双倍的'结束功能TestNonNumericiInput(testCase)testCase.verifyError(@()add5)(' 0 '),“折扣:InputMustBeNumeric”结束结束结束

从中创建一个测试套件Add5test.类文件。

suite = matlab.unittest.testsuite.fromFile(“Add5Test.m”
结果=运行(套);
运行Add5Test . .完成Add5Test  __________

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

classdeftestzeros 性质(TestParameter) type = {'单身的''双倍的''uint16'};Outsize = struct('s2d'3 [3],'s3d',[2 5 4]);结束方法(测试)功能testclass(testcase,类型,outsize)testcase.verifyClass(零(undsize,类型),类型);结束功能testCase. verifysize (zero (outSize), outSize);结束功能testdefaultclass(testcase)testcase.verifyClass(零,'双倍的');结束功能testDefaultSize testCase (testCase)。verifySize (0, [1]);结束功能testdefaultValue(testcase)testcase.verifyequal(零,0);结束结束结束

测试类包含两个参数化测试方法,testClasstestSize

在命令提示符处,从所有参数化测试方法中创建一个测试套件testZeros.m使用有公差集团选择器。

进口matlab.unittest.TestSuite;进口matlab.unittest.selectors.HasParameter;套件= TestSuite.fromFile (“testZeros.m”,哈萨克拉姆斯)
套件= 1×8测试阵列具有属性:名称过程措施TestClass BaseFolder参数化SharedTestFixtures标签测试包括:5个唯一的参数化,0个共享测试夹具类,0个标签。

从中从测试元素中创建测试套件testSize方法使用hasname.选择器的startswithsubstring.限制

进口matlab.unittest.selectors.hasname.hasname.;进口matlab.unittest.constraints.startswithsubstring.;套件= TestSuite.fromFile (“testZeros.m”...hasname(startswithsubstring(“testZeros / testSize”)));{suite.name}'
ans = 'testZeros/testSize(outSize=s2d)' 'testZeros/testSize(outSize=s3d)'

测试套件包含来自的两个参数化测试testSize方法。

创造testZeros.m来自上一个例子的类。

在命令提示符下,从中的所有测试方法创建一个测试套件testZeros.m名称以开头的“testZeros / testSize”.的参数化测试testSize方法。

进口matlab.unittest.TestSuite;套件= TestSuite.fromFile (“testZeros.m”“名字”'testzeros / testsize *');{suite.name}'
ans = 'testZeros/testSize(outSize=s2d)' 'testZeros/testSize(outSize=s3d)'

为了确保测试套件由与一个特定测试方法相关联的测试元素组成,使用fromMethod的方法testsuite.

在命令提示符下,从中的所有测试方法创建一个测试套件testZeros.m名字以'尺寸'

进口matlab.unittest.TestSuite;套件= TestSuite.fromFile (“testZeros.m”“名字”*大小的);{suite.name}'
ans ='testzeros / testdefaultsize'

的元素testSize方法不包含在测试套件中。这些元素的名称包含有关参数化的信息,因此它不是以'尺寸'

创建使用参数名称的所有测试的测试套件'双倍的'

套件= TestSuite.fromFile (“testZeros.m”'parametername''双倍的');{suite.name}'
ans = 'testZeros/testClass(type=double,outSize=s2d)' testZeros/testClass(type=double,outSize=s3d)'

要使用选择器构建相同的测试套件,请使用套房= testsuite.fromfile('testzeros.m',hasparameter('name','double'))

在R2013A介绍