主要内容

coder.runTest

运行测试取代调用MATLAB函数调用墨西哥人的功能

描述

例子

coder.runTest (测试,fcn)运行测试更换要求fcn调用编译的版本fcn测试MATLAB的文件名吗®函数、脚本或基于类的单元测试,调用MATLAB函数fcn。的编译版本fcn必须在一个墨西哥人函数默认名称。默认名称所指定的名称fcn紧随其后的是_mex

例子

coder.runTest (测试,fcns,mexfcn)替换指定调用MATLAB函数调用编译版本的功能。墨西哥人的功能mexfcn必须包含编译后的版本的所有指定的MATLAB函数。

例子

coder.runTest (测试,mexfile)代替调用MATLAB函数调用函数的编译版本编译的版本的函数mexfilemexfile包括特定于平台的文件扩展名。如果mexfile不包含编译后的版本的一个函数,coder.runTest运行最初的MATLAB函数。如果你不想指定单独的MATLAB函数来代替,用这个语法。

例子

全部折叠

使用coder.runTest运行一个测试文件。指定编译的版本更换一个MATLAB函数。你不提供墨西哥人的名称的功能包含编译后的版本。因此,coder.runTest寻找一个墨西哥人函数默认名称。

在当地,可写的文件夹中,创建一个MATLAB函数,myfun

函数y = myfun (u, v)% # codegeny = u + v;结束

在同一个文件夹中,创建一个测试函数,mytest1,电话myfun

函数mytest1 c = myfun (10、20);disp (c);结束

运行测试在MATLAB函数。

mytest1
30.

生成一个墨西哥人功能myfun

codegenmyfunarg游戏{0}

在当前文件夹,codegen生成一个墨西哥人函数有默认名称,myfun_mex

运行coder.runTest。指定您想要运行的测试文件mytest1。指定替代myfun编译的版本的myfun_mex

coder.runTest (“mytest1”,“myfun”)
30.

当你运行的结果是一样的mytest1在MATLAB命令行。

使用coder.runTest运行一个测试文件。指定替代的两个函数调用编译版本。指定的墨西哥人功能包含编译后的版本的功能。

在当地可写的文件夹中,创建一个MATLAB函数,myfun1

函数y = myfun1 (u)% # codegeny = u;结束

在同一个文件夹中,创建另一个MATLAB函数,myfun2

函数y = myfun2 (u, v)% # codegeny = u + v;结束

在同一个文件夹中,创建一个测试函数,调用myfun1myfun2

函数mytest2 c1 = myfun1 (10);disp (c1) c2 = myfun2 (10、20);disp (c2)结束

运行测试的功能。

mytest2
10 30

生成一个墨西哥人功能myfun1myfun2。使用- o选项来指定生成的墨西哥人函数的名称。

codegen- omymexmyfun1arg游戏{0}myfun2arg游戏{0}

运行coder.runTest。指定您想要运行mytest2。指定您想要取代调用myfun1myfun2与在墨西哥人函数调用编译版本mymex

coder.runTest (“mytest2”,{“myfun1”,“myfun2”},“mymex”)
10 30

当你运行的结果是一样的mytest2在MATLAB命令行。

使用coder.runTest运行测试,取代调用MATLAB函数与调用编译版本测试。为墨西哥人指定文件名包含编译版本的函数功能。

在当地可写的文件夹中,创建一个MATLAB函数,myfun1

函数y = myfun1 (u)% # codegeny = u;结束

在同一个文件夹中,创建另一个MATLAB函数,myfun2

函数y = myfun2 (u, v)% # codegeny = u + v;结束

在同一个文件夹中,创建一个测试函数,调用myfun1myfun2

函数mytest2 c1 = myfun1 (10);disp (c1) c2 = myfun2 (10、20);disp (c2)结束

运行测试。

mytest2
10 30

生成一个墨西哥人功能myfun1myfun2。使用- o选项来指定生成的墨西哥人函数的名称。

codegen- omymexmyfun1arg游戏{0}myfun2arg游戏{0}

运行coder.runTest。指定您想要运行mytest2。指定您想要取代被调用函数mytest2调用编译版本mymex。指定完整的墨西哥人文件名称包括特定于平台的扩展。使用mexext特定于平台的扩展。

coder.runTest (“mytest2”,(“mymex”。,mexext])
10 30

当你运行的结果是一样的mytest2在MATLAB命令行。

运行coder.runTest基于类的单元测试。

编写的函数addOne增加1的输入。

函数y = addOne (x)% # codegeny = x + 1;结束

编写一个classed-based单元测试,验证返回的值addOne当输入1,当输入π

classdefTestAddOne < matlab.unittest.TestCase方法(测试)函数reallyAddsOne (testCase) x = 1;y = addOne (x);testCase.verifyEqual (y, 2);结束函数addsFraction (testCase) x =π;y = addOne (x);testCase.verifyEqual (y、x + 1);结束结束结束

基于类的单元测试运行,更换要求addOne与调用addOne_mex

coder.runTest (“TestAddOne”,“addOne”)
运行TestAddOne . .完成TestAddOne __________ testbenchResult = 1×2 TestResult数组属性:名称传递失败的不完整的时间细节总数:2了,失败了,0不完整,测试时间0.28516秒。

输入参数

全部折叠

MATLAB函数文件名、脚本或基于类的单元测试,您想要测试的MATLAB函数生成的墨西哥人。coder.runTest取代了调用函数调用生成的墨西哥人。

例子:“mytest”

运行测试时MATLAB函数的名称来代替。coder.runTest代替调用这个函数,这个函数的调用编译版本。

例子:“myfun”

运行测试时的MATLAB函数的名字来代替。coder.runTest替换这些函数调用这些函数的调用编译版本。

指定一个标量函数作为特征向量或一个字符串。

例子:“myfun”

例子:“myfun”

指定多个功能单元阵列的特征向量。使用前coder.runTest这些函数,编译成一个墨西哥人的功能。

例子:{‘myfun1’,‘myfun2’,‘myfun3}

墨西哥人的函数名称生成的一个或多个功能。

生成这个墨西哥人使用的函数MATLAB编码器™应用程序或codegen函数。

例子:“mymex”

一个墨西哥人文件的文件名称和特定于平台的扩展为一个或多个功能。使用mexext特定于平台的墨西哥人文件扩展名。

生成这个墨西哥人文件使用MATLAB编码器应用程序或codegen函数。

例子:[' myfunmex。”,mexext]

数据类型:字符

提示

  • coder.runTest不返回输出。看到测试结果,测试,包括代码,显示结果。

  • 墨西哥人比较和MATLAB函数行为:

    • 在MATLAB运行测试。

    • 使用codegen生成一个墨西哥人的功能。

    • 使用coder.runTest运行测试取代原始调用函数调用编译的版本在墨西哥人功能。

  • 使用前coder.runTest测试多个函数,编制MATLAB函数为一个墨西哥人的功能。

  • 如果你使用语法mexfile coder.runTest(测试),使用mexext特定于平台的墨西哥人的文件扩展名。例如:

    coder.runTest (“my_test”,(“mymexfun”。,mexext])

  • 如果在测试期间发生错误,你可以调试代码使用调用堆栈信息。

  • 您可以将墨西哥人的生成和测试运行在一个步骤codegen以及选择。例如,下面的代码生成一个墨西哥人功能myfunction并调用测试文件myfunction_test,替换myfunction与调用myfunction_mex

    codegenmyfunction以及myfunction_test

介绍了R2012a