测试函数是一个单独的MATLAB®包含主函数和您的单个本地测试函数的文件。可选地,您可以包括文件fixture和刷新fixture函数。文件的设备由一个文件中的所有测试共享的设置和拆卸函数组成。这些函数对每个测试文件执行一次。新的设备由在每个本地测试函数之前和之后执行的setup和teardown函数组成。
main函数将所有本地测试函数收集到一个测试数组中。由于它是主函数,所以函数名与您的名称相对应。m
文件,并遵循以单词“test”开始或结束的命名约定,该单词不区分大小写。在本例中,MATLAB文件为exampleTest.m
。主要功能需要拨打电话到functiontests
生成测试阵列,测试
。使用localfunctions
作为输入functiontests
自动生成文件中所有本地函数句柄的单元格数组。这是一个典型的主函数。
函数测试= exampleTest测试= functiontests(localfunctions);结束
各个测试功能被包括在相同的MATLAB文件作为主要(测试生成)功能本地函数。这些测试函数名称必须开始或不区分大小写的话,“测试”结束。每个局部测试功能必须接受的单个输入,这是一个功能测试对象的情况下,testCase
。单元测试框架自动生成此对象。有关创建测试函数的更多信息,请参见用函数编写简单的测试用例和验证表,断言,和其他资格。这是骨骼局部测试功能的一个典型例子。
函数testFunctionOne (testCase)%测试专用代码结束函数FunctionTwotest (testCase)%测试专用代码结束
安装和拆卸的代码,也被称为测试夹具的功能,建立系统的预测试状态和运行试验后使其返回到原来的状态。有两种类型的这些功能:文件夹具功能每测试文件运行一次,和新鲜的夹具功能之前和每个本地测试功能后运行。这些功能不需要生成测试。一般来说,优选的是用新鲜夹具在文件夹具,以增加单元测试封装。
一个功能测试用例对象,testCase
必须是唯一输入到文件夹具和新鲜夹具的功能。单元测试框架自动生成此对象。的TestCase
目的是通过设置功能,测试功能,和拆卸功能之间的信息的装置。它的TestData
属性默认为a结构体
,这允许容易加成的字段和数据。该测试数据的典型用途包括路径和图形手柄。对于使用的示例TestData
财产,见使用Setup和Teardown函数编写测试。
文件夹具功能。使用文件fixture函数来跨文件中的所有测试共享设置和拆卸函数。文件fixture函数的名称必须为setupOnce
和teardownOnce
,分别。这些函数执行单时间为每个文件。您可以使用文件灯具测试之前要设置的路径,然后测试后将其重置为原来的路径。这是骨骼文件夹具安装和拆卸码的典型的例子。
函数setupOnce (testCase)不要更改函数名称%设置新的路径,例如结束函数teardownOnce (testCase)不要更改函数名称%变回原来的路径,例如结束
新夹具的功能。使用新的fixture函数为每个本地测试函数设置和关闭状态。这些新的fixture函数的名称必须是设置
和拆卸
,分别。您可以在测试前使用新的固定装置获得一个新的图形,并在测试后关闭该图形。这是骨架测试函数级别设置和拆除代码的典型示例。
函数设置(测试用例)不要更改函数名称打开一个图形,例如结束函数拆卸(testCase)不要更改函数名称例如,接近的数字结束
%%主要功能生成测试函数测试= exampleTest测试= functiontests(localfunctions);结束% %测试函数函数testFunctionOne (testCase)%测试专用代码结束函数FunctionTwotest (testCase)%测试专用代码结束%%可选的文件装置函数setupOnce (testCase)不要更改函数名称%设置新的路径,例如结束函数teardownOnce (testCase)不要更改函数名称%变回原来的路径,例如结束%%可选新鲜固定装置函数设置(测试用例)不要更改函数名称打开一个图形,例如结束函数拆卸(testCase)不要更改函数名称例如,接近的数字结束
下图详细说明了运行测试时执行的任务。
要从命令提示符运行测试,请使用runtests
与MATLAB测试文件作为输入命令。例如:
结果= runtests (“exampleTest.m”)
属性也可以运行测试运行
函数。
结果=运行(exampleTest)
有关运行测试的更多信息,请参见runtests
参考页面和为各种工作流运行测试。
要分析测试结果,请检查输出结构runtests
要么运行
。对于每个测试,结果包含测试函数的名称,是否通过,失败或没有完成,而且所花费的时间来运行测试。欲了解更多信息,请参阅分析测试用例结果和分析失败的测试结果。
functiontests
|localfunctions
|runtests