主要内容

coder.runTest

MATLAB関数の呼び出しをmex関数の呼び出しで置き換えてテストを実行する

説明

coder.runTest (测试fcnの実行する测试によって,fcnの呼び出しが,コンパfcnへの呼び出しで置き換えられます。测试はMATLAB®関数,スクリプト,またはmatlab関数のfcnを呼び出すクラスベスのユニットテストのファル名です。fcnのコンパ▪▪ルされたバmex関数内になければなりません。fcnによって指定される既定の名前の後には,_mexが続きます。

coder.runTest (测试fcnsmexfcnは指定されたMATLAB関数の呼び出しを,コンパイルされたバージョンの関数の呼び出しで置き換えます。墨西哥関数mexfcnには,コンパイルされたバージョンの指定されたMATLAB関数がすべて含まれていなければなりません。

coder.runTest (测试mexfileは,コンパmexfileにある場合,MATLAB関数の呼び出しを,コンパイルされたバージョンの関数の呼び出しで置き換えます。mexfileにはプラットフォム固有のファル拡張子が含まれます。mexfileにコンパルされたバジョンの関数が含まれていない場合,coder.runTestは元のmatlab関数を実行します。個別のmatlab関数を指定して置き換えない場合,この構文を使用します。

すべて折りたたむ

coder.runTestを使用してテストファ@ @ルを実行します。1 .のmatlab関数をコンパルされたバジョンで置き換えるように指定します。コンパaapl . exeルされたバ. exeジョンを含むmex関数の名前は指定しません。したがって,coder.runTestは既定の名前をもx.x.x.x x関数を検索します。

ロ,カルの書き込み可能なフォルダ,に,matlab関数myfunを作成します。

函数Y = myfun(u,v)% # codegenY = u+v;结束

同じフォルダ,にmyfunを呼び出すテスト関数mytest1を作成します。

函数Mytest1 c = myfun(10,20);disp (c);结束

Matlabでテスト関数を実行します。

mytest1
30.

myfunのmex関数を生成します。

codegenmyfunarg游戏{0}

codegenは既定の名前がmyfun_mexのmex関数を現在のフォルダ,に生成します。

coder.runTestを実行します。テストファ@ @ルmytest1の実行を指定します。myfun_mexでのコンパ▪▪ルされたバ▪▪ジョンでmyfunを置き換えるように指定します。

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

これにより,mytest1をmatlabコマンドラescンで実行した場合と同じ結果が得られます。

coder.runTestを使用してテストファ@ @ルを実行します。コンパ▪▪ルされたバ▪ジョンの呼び出しで置き換える2▪▪の関数を指定します。コンパaapl . exeルされた関数のバ. exeジョンが含まれるmex関数を指定します。

ロ,カルの書き込み可能なフォルダ,に,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のmex関数を生成します。- oオプションを使用して,生成されたmex関数の名前を指定します。

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

coder.runTestを実行します。mytest2の実行を指定します。myfun1myfun2の呼び出しをmex関数mymexでコンパ▪▪ルされたバ▪▪ジョンの呼び出しで置き換えるように指定します。

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

これにより,mytest2をmatlabコマンドラescンで実行した場合と同じ結果が得られます。

coder.runTestを使用して,テストでMATLAB関数の呼び出しをコンパイルされたバージョンの呼び出しで置き換えるテストを実行します。コンパ▪▪ルされた関数のバ▪ジョンが含まれるmex関数のファ▪▪ル名を指定します。

ロ,カルの書き込み可能なフォルダ,に,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のmex関数を生成します。- oオプションを使用して,生成されたmex関数の名前を指定します。

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

coder.runTestを実行します。mytest2の実行を指定します。mytest2で呼び出される関数の呼び出しをmymexでのコンパ▪▪ルされたバ▪▪ジョンの呼び出しで置き換えるように指定します。プラットフォム固有の拡張子を含む,完全なmexファル名を指定します。プラットフォ,ム固有の拡張子を取得するにはmexextを使用します。

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

これにより,mytest2をmatlabコマンドラescンで実行した場合と同じ結果が得られます。

クラスベ,スのユニットテストを使用してcoder.runTestを実行します。

入力に1を加算する関数addOneを記述します。

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

入力が1のときと入力がπのときにaddOneによって返される値を検証するクラスベ,スのユニットテストを記述します。

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

addOneの呼び出しをaddOne_mexの呼び出しに置き換えてクラスベ,スのユニットテストを実行します。

coder.runTest (“TestAddOne”“addOne”
运行TestAddOne ..Done TestAddOne __________ testbenchResult = 1×2带有属性的TestResult数组:Name Passed Failed Incomplete Duration Details总计:2 Passed, 0 Failed, 0 Incomplete. 0.28516秒测试时间。

入力引数

すべて折りたたむ

MATLAB関数,スクリプト,または生成された墨西哥人のテスト対象となるMATLAB関数を呼び出すクラスベースのユニットテストのファイル名。coder.runTestは,関数の呼び出しを生成されたmexの呼び出しで置き換えます。

例:“mytest”

テスト実行時に置き換えるmatlab関数の名前。coder.runTestはこの関数の呼び出しを,コンパ。

例:“myfun”

テスト実行時に置き換えるmatlab関数の名前。coder.runTestはこれらの関数の呼び出しを,コンパ。

1。

例:“myfun”

例:“myfun”

複数の関数を文字ベクトルのcell配列として指定します。coder.runTestを使用する前に,これらの関数を単一のmex関数にコンパescルしておきます。

例:{'myfun1', 'myfun2', 'myfun3'}

1以上の関数に対して生成されるmex関数の名前。

MATLAB编码器™アプリまたは関数codegenを使用してこのmex関数を生成します。

例:“mymex”

1 .。mexextを使用してプラットフォム固有のmexファル拡張子を取得します。

MATLAB编码器アプリまたは関数codegenを使用してこのmexファ超市ルを生成します。

例:[' myfunmex。”,mexext]

デ,タ型:字符

ヒント

  • coder.runTestは出力を返しません。テスト結果を確認するには,テストに結果を表示するコ,ドを含めます。

  • Mexおよびmatlab関数の動作を比較するには,以下のようにします。

    • Matlabでテストを実行します。

    • codegenを使用してmex関数を生成します。

    • coder.runTestを使用して,元の関数の呼び出しを墨西哥人関数でコンパイルされたバージョンの呼び出しで置き換えるテストを実行します。

  • coder.runTestを使用して複数の関数をテストする前に,MATLAB関数を単一の墨西哥人関数にコンパイルしておきます。

  • 構文mexfile coder.runTest(测试)を使用する場合は,mexextを使用してプラットフォム固有のmexファル名の拡張子を取得します。次に例を示します。

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

  • テスト中にエラ,が発生した場合は,呼び出しスタック情報を使用してコ,ドをデバックできます。

  • codegen以及オプションを使用して実行することで,墨西哥人生成とテストを1つのステップに組み合わせることができます。たとえば,次のコ,ドはmyfunctionのmex関数を生成し,myfunctionへの呼び出しをmyfunction_mexへの呼び出しに置き換えてテストファ@ @ルmyfunction_testを呼び出します。

    codegenmyfunction以及myfunction_test

バ,ジョン履歴

R2012aで導入