テストの実行オプション : テスト仕様および修飾子
一般的には、以下の形式のコマンドを使用して、RunTest を実行します。
Do ##class(%UnitTest.Manager).RunTest("testspec","qualifiers")
testspec 引数で、実行するテストおよびそれらの場所を指定します。testspec の一般的な形式は、testsuite:testcase:testmethod です。各項目の内容は次のとおりです。
-
testsuite (必須)。テスト・クラス・ファイルを含むディレクトリ。このディレクトリは、^UnitTestRoot で指定されたディレクトリのサブディレクトリである必要があります。既定では、テスト・マネージャは、このディレクトリとそのサブディレクトリに含まれるすべてのファイルにあるすべてのテストを実行します。
-
testcase (オプション)。実行するテスト・メソッドを含む単一のクラスを選択します。PackageName.ClassName という形式で指定します。指定されると、テスト・マネージャは、そのクラス内のテストのみを実行します。
-
testmethod (オプション)。実行する testcase で示されるテスト・クラスのメソッドを選択します。
qualifiers 引数で、テストを実行するためのさまざまなオプションを指定します。既に説明したように、テスト・クラスをサーバから削除しない場合は “/nodelete” 修飾子を使用できます。別の例として、“/noload/debug” は、マネージャがディレクトリからテストをロードしないことを示します。つまり、現在 InterSystems IRIS に存在するテストを使用し、デバッグ・モードでテストを実行します。これらの修飾子を否定可能ブーリアンといいます。例えば、“/noload” は “/load=0” と同じことを意味します。
修飾子
修飾子 |
意味 |
/load (既定) |
テストをディレクトリからロードします。/noload を使用すると、テストはロードされず、既に InterSystems IRIS に存在しているテストを実行します。 |
/run (既定) |
テストを実行します。/norun を使用すると、ロードは行われますが、テストは実行されません。 |
/delete (既定) |
実行後にテスト・クラスを InterSystems IRIS から削除します。/nodelete を使用すると、クラスは保存されます。 |
/recursive (既定) |
指定されたディレクトリのサブディレクトリ内でテストを検索します。/norecursive を使用すると、サブディレクトリに含まれるテストは実行されません。 |
/debug (既定は /nodebug) |
/debug を指定すると、最初のテストが失敗した後にテストは実行されません。ターミナルから実行すると、最初に失敗した後にターミナルはデバッグ・モードになります。 |
/autoload |
/autoload=dir を使用すると、テストは ^UnitTestRoot ディレクトリのサブディレクトリ “dir” からロードされます。既定のサブディレクトリは _autoload です。 |
/display |
/display=all (既定) を使用すると、メソッドの実行時に拡張情報が表示されます。/display=none を使用すると、限定された情報が表示されます。 |
Note:
いずれの場合も、^UnitTestRoot は有効なディレクトリを指す必要があります。