1。 前提条件

このチュートリアルは、すべての手順を完了していることを前提としています。 入門チュートリアル。 まだチュートリアルを完了していない場合は、このページに戻ってテスト方法を学習してください。

2。 概要

統合テストを作成して、 エンジンモニター サービスは常に期待どおりに機能します。

Vantiqテストは、順序付けられた入力イベントのシーケンスと、期待される出力イベントのコレクションによって駆動されます。 スピードイベント の三脚と 温度イベント 受信イベント イベントを入力として入力し、正しいことを確認します。 エンジンステータス アラートイベントが生成されます。

次の場合は、 エンジンステータス アウトバウンドイベント アラートメッセージ。 サービスが遭遇する可能性のある XNUMX つのケースすべてをテストでカバーしていることを確認したいと考えています。

  1. エンジンは正常に作動しています
  2. エンジン温度が 210 度を超え、エンジン速度が 45 度未満です
  3. エンジン温度は 210 度を超え、エンジン速度は 45 以上です

Vantiq テスト システムの詳細な説明については、以下を参照してください。 Vantiq テスト リファレンス ガイド.

3. テストの作成

使い方 追加 ボタンを選択 サービス 開いて com.vantiq.engines.EngineMonitor サービス。

サービスに移動します ホイール試乗 ペインの左上隅にあるタブを使用してタブを選択します。 クリック + 上のボタン 統合テスト セクションヘッダーを使用して、新しいサービス統合テストを作成します。

サービス統合テストは、XNUMX つのサービスを残りのプロジェクトまたは名前空間から完全に分離してテストするように設計されています。 これは、プロシージャの実行とインバウンド サービス イベント タイプのみが入力となり、アウトバウンド サービス イベント タイプのみが出力となることを意味します。

エンジンモニターテスト

Enter エンジンモニターテスト 名前と com.vantiq.engines パッケージ名として設定します。説明を エンジン モニターのチュートリアルをテストする。 タイムアウトを次のように設定します 30 seconds.

詳しくはこちら Save サービスを保存します。サービスを保存すると統合テストが作成され、左側のプロジェクトコンテンツツリーの統合テストのリストに追加されることに注意してください。

エンジンモニターテスト

4. テスト入力

このセクションでは、EngineMonitor サービスを実行する XNUMX つのテスト入力が定義されています。 テスト入力は、サービスによって処理されるテスト時に生成されるイベントです。

に移動します 入力 タブをクリックします 入力を追加 ボタン。

入力の追加

最初の入力では、エンジン速度イベントを作成します。

  • リソース: サービスイベント
  • リソースID: com.vantiq.engines.EngineMonitor/SpeedEvent
  • ディレイ: 1セカンド

以下を行うには、 クリックして編集する ボタンをクリックしてイベント オブジェクト エディターを開き、JSON オブジェクトを作成します。

{
    "systemId": "123",
    "speed": 50
} 

詳しくはこちら OK JSON エディターを閉じて、 OKしてさらに追加 をクリックして別の入力を追加します。

ここで、エンジンが過熱している (温度が 210 以上である) 場合の入力を作成します。

秒

  • リソース: サービスイベント
  • リソースID: com.vantiq.engines.EngineMonitor/TemperatureEvent
  • ディレイ: 3秒数

以下を行うには、 クリックして編集する ボタンをクリックしてイベント オブジェクト エディターを開き、JSON オブジェクトを作成します。

{
  "systemId": "123",
  "temperature": 220
}

詳しくはこちら OK JSON エディターを閉じて、 OKしてさらに追加 をクリックして別の入力を追加します。

上記の XNUMX つの入力は、誤動作ケースの XNUMX つをテストします。 次に、サービスが過熱しきい値を下回る温度イベントを受信した場合に、アラート メッセージが消去されることを確認します。

温度を使用して新しい入力を作成します 以下 誤動作のしきい値。

  • リソース: サービスイベント
  • リソースID: com.vantiq.engines.EngineMonitor/TemperatureEvent
  • ディレイ: 3秒数

その ディレイ これらのイベントは、テストの実行時に作成される新しい名前空間でビジュアル イベント ハンドラーをトリガーするために使用されるため、このテスト入力と前のテスト入力の値は人為的に高くなります (3 秒)。 ビジュアル イベント ハンドラーのタスクは、そのタスクの最初のイベントが受信されると XNUMX 回コンパイルされます。 この XNUMX 回限りのコンパイルにより、イベント処理に遅延が生じます。 テスト入力イベント生成に対して人為的に高い遅延値を設定することにより、テスト プロセスは XNUMX 回限りのコンパイル遅延を補償します。

以下を行うには、 クリックして編集する ボタンをクリックしてイベント オブジェクト エディターを開き、JSON オブジェクトを作成します。

{
    "systemId": "123",
    "temperature": 200
} 

詳しくはこちら OK JSON エディターを閉じて、 OKしてさらに追加 をクリックして別の入力を追加します。 速度を指定して新しい入力を作成します 以下 誤動作のしきい値。

  • リソース: サービスイベント
  • リソースID: com.vantiq.engines.EngineMonitor/SpeedEvent
  • ディレイ: 1セカンド

以下を行うには、 クリックして編集する ボタンをクリックしてイベント オブジェクト エディターを開き、JSON オブジェクトを作成します。

{
    "systemId": "123",
    "speed": 40
} 

詳しくはこちら OK JSON エディターを閉じて、 OKしてさらに追加 をクリックして別の入力を追加します。 温度を使用して新しい入力を作成します 上記の. 誤動作のしきい値。

  • リソース: サービスイベント
  • リソースID: com.vantiq.engines.EngineMonitor/TemperatureEvent
  • ディレイ: 1セカンド

以下を行うには、 クリックして編集する ボタンをクリックしてイベント オブジェクト エディターを開き、JSON オブジェクトを作成します。

{
    "systemId": "123",
    "temperature": 230
} 

詳しくはこちら OK JSON エディターを閉じて、 OK 最後の入力を作成します。すべての入力を作成したら、 変更を保存 右上隅のアイコンをクリックしてテストを保存します。

テスト入力リスト

5. テスト出力

テストでは、上記の考えられるケースごとに XNUMX つずつ、合計 XNUMX つの出力が期待されます。

最初のテスト出力では、 エンジンステータス エンジンが過熱し、速度が45を超えたときにサービスによって生成される送信イベント。 出力 テストのタブをクリックして、 出力を追加.

133_最初の出力

  • リソース: サービスイベント
  • リソースID: com.vantiq.engines.EngineMonitor/EngineStatus

以下を行うには、 クリックして編集する ボタンをクリックしてイベント オブジェクト エディターを開き、JSON オブジェクトを作成します。

{
    "systemId": "123",
    "alertMsg": "Your engine is overheating: please reduce your speed.",
    "temperature": 220,
    "speed": 50
} 

詳しくはこちら OK をクリックして JSON エディターを閉じます。 次にクリックします OKしてさらに追加.

次のテスト出力では、 エンジンステータス エンジンが過熱しなくなったときにサービスによって生成されるアウトバウンド イベント。

  • リソース: サービスイベント
  • リソースID: com.vantiq.engines.EngineMonitor/EngineStatus

以下を行うには、 クリックして編集する ボタンをクリックしてイベント オブジェクト エディターを開き、JSON オブジェクトを作成します。

{
    "systemId": "123",
    "alertMsg": "",
    "temperature": 200
} 

詳しくはこちら OK をクリックして JSON エディターを閉じます。 次にクリックします OKしてさらに追加.

最後のテスト出力は、 エンジンステータス アウトバウンド イベントは、エンジンがオーバーヒートしているが速度が 45 未満の場合に生成されます。

  • リソース: サービスイベント
  • リソースID: com.vantiq.engines.EngineMonitor/EngineStatus

以下を行うには、 クリックして編集する ボタンをクリックしてイベント オブジェクト エディターを開き、JSON オブジェクトを作成します。

{
    "systemId": "123",
    "alertMsg": "Your engine is overheating: check for a malfunctioning fan or a coolant leak.",
    "temperature": 230,
    "speed": 40
} 

詳しくはこちら OK をクリックして JSON エディターを閉じます。 次にクリックします OK そしてサービスを保存します。

テスト出力リスト

6. テストの実行

詳しくはこちら テストを実行 テストを実行します。 クリック テストを実行 ポップアップを確認します。

以下を行うには、 テスト履歴を表示 ボタンをクリックすると、このテストに関連付けられたテスト レポートのリストが表示されます。 青いスピナーが緑色のチェックマークになるまで待ちます。

テストレポートのクリーニング済み

これは、テストが成功したため、その後クリーンアップされ、関連するテスト名前空間が破棄されたことを意味します。

テストレポートのクリーニング済み

以下を行うには、 テスト実行ID テスト実行の場合は、テスト レポートを開きます。

テストレポート全般

に移動します 成功 タブに、定義した XNUMX つの出力がすべてリストされていることを確認します。

テストレポート成功

に移動します Errors タブをクリックして、テスト実行中にエラーがなかったことを確認します。

テストレポートエラー

結論

このチュートリアルを正常に完了したユーザーは、サービス統合テストを快適に作成して実行できるようになります。