例 : OnAfterProductionStart
以下のコードは、テスト・クラス Tutorial.ProductionTest に含まれており、OnAfterProductionStart をオーバーライドします。このコードは、プロダクションが正常に開始した後に実行され、以下の処理を行います。
-
SendRequest を使用して、2 つの Ensemble 要求メッセージを作成し、Ensemble テスト・サービスに送信します。テスト・サービスが要求メッセージを Tutorial.ExampleProduction ビジネス・オペレーションに転送する各ケースにおいて、そのビジネス・オペレーションには Tutorial.ExampleOperation という名前が付けられます。
-
$$$AssertEquals を使用して、最初の応答の内容を確認します。response という名前の変数は、参照によって SendRequest に渡されることに注意してください。メソッドが返されるときに、この変数はビジネス・オペレーションからの応答メッセージを指します。
-
2 つ目の要求メッセージには、その StringValue プロパティに NULL 値が含まれています。これにより、ビジネス・オペレーションはエラーを生成して返します。
Method OnAfterProductionStart() As %Status
{
Set request = ##class(Ens.StringRequest).%New()
set request.StringValue="Hello Ensemble"
Set tSC = ..SendRequest( "Tutorial.ExampleOperation" ,request,
.response,1,40)
Do $$$AssertEquals(response.StringValue,"OK","Response should contain OK.")
Set request.StringValue=""
Set tSC = ..SendRequest( "Tutorial.ExampleOperation" ,request,
.response,1,40)
Quit $$$OK
}
%UnitTest.TestCaseOpens in a new tab によってサポートされているマクロおよび AssertX メソッドの一覧は、"Caché %UnitTest チュートリアル" の "%UnitTest クラス" を参照してください。
参照によってメソッドの引数を渡す処理の詳細は、"Caché オブジェクトの使用法" の "メソッド" の節の "参照渡し" を参照してください。