Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

アサート・メソッドとマクロ

ユニット・テストの主要なテスト機能は、AssertX メソッドとそれに関連するマクロが備えています。これらのマクロを直接呼び出すことで、メソッドの出力をテストできます。マクロは、所定の入力に対して目的の出力がメソッドで生成されるかどうかをテストします。ある AssertX マクロが False を返す (またはエラーになる) 場合、そのマクロを使用したテストは不合格となります。

コードを作成するときは、そのコードをテストするユニット・テストの作成を計画します。この例では、Add というメソッドを使用した TestMe というクラスを作成しています。作成したら、その新しい TestMe クラスが正常に機能するかどうかをテストします。

次のコマンドでは、AssertEquals マクロを実行し、Add メソッドに (2,2) を入力すると、 4 になることをテストします。


 Do $$$AssertEquals(##class(MyPackage.TestMe).Add(2,2),4, "Test Add(2,2)=4")

AssertEquals マクロは、2 つの値を比較し、3 つの引数を取ります。

  1. ##class(MyPackage.TestMe).Add(2,2) — 最初の値は、2,2 を入力とする、テスト対象のメソッドです。

  2. 4 — 2 つ目の値です。

  3. "Test Add(2,2)=4" — 結果ページに表示されるテキストの記述です(この引数はテストに影響しません。テストの記述がない場合、このクラスは、評価する式を使用してテストの記述を作成します)。

以下に、AssertStatusOK マクロを使用し、オブジェクトが問題なく保存されたことをテストする例を示します。

 Do $$$AssertStatusOK(contact.%Save(),"Saving a Contact")

この AssertStatusOk マクロは、メソッドによって返される状態を評価します。状態が 1 の場合、テストに合格しています。

  1. contact.%Save — 状態コードを返す式。

  2. "Saving a Contact" — テキストの記述。これは、テスト・レポートのためのドキュメントです。テストには影響しません。

FeedbackOpens in a new tab