メインコンテンツへスキップ
How Can We Help?

回答を検索するか、ナレッジベースを参照してください。

ドキュメント    チュートリアル    サポート

Contents
<すべてのトピック
印刷物

デバッグチュートリアルのテスト

デバッグチュートリアルのテスト

前提条件

このチュートリアルは、最初の 7 つのステップが完了していることを前提としています。 デバッグチュートリアルまだチュートリアルを完了していない場合は完了してから、手順 8 でこのページに戻り、テスト方法を学習してください。

トリガーされたルールのテスト

ルールを調査し、より深く理解できたので、次にいくつかの単体テストを作成します。

Vantiqテストは、順序付けられた入力イベントのシーケンスによって駆動され、一連の出力イベントを期待します。ルールには戻り値がないため、テストの正確性を保証するために出力イベントが必要です。ルールの末尾にPUBLISHを追加すると、ageStatusとaverageWeightが正しく計算されたことを確認するために必要な出力イベントが作成されます。

次のようなテストを作成したいと考えています。

  • TutorialExampleType に INSERTS
  • 正しい ageStatus と AverageWeight を持つ「/people/results」への PUBLISH が期待されます

に移動します TutorialExampleRule ルール。
ルールを編集し、ルールの下部の最後の行に次のコード スニペットを追加します。

PUBLISH {ageStatus: ageStatus, averageWeight: averageWeight} TO TOPIC "/people/results"

ルールに追加した PUBLISH により、そのイベントを出力イベントとして使用して、ルールが正しい値を計算したかどうかをテストして確認できるようになります。

正常にトリガーされたルールの Autopsy ペインに戻り、 をクリックします。 テストの作成.

テストスイート全般.

タイプ TutorialExampleRule0 testName として入力し、「OK」をクリックします。

新しい ホイール試乗 ペインが開き、テストのすべての一般プロパティがすでに設定されています。

デバッグテスト

に移動します 入力 タブをクリックして、「入力」リストに入力が XNUMX つあることを確認します。

デバッグテスト入力リスト

テストでは 1 つの出力が期待されます。 /people/results ルールによって実行されるトピック。

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

その TutorialExampleType ルールは、 /people/results それは含まれています ageStatus   TutorialExampleType と averageWeight すべての TutorialExampleType インスタンス。 テストでは、名前空間に 3 つのインスタンスが事前に設定されます。 TutorialExampleType (以下を参照) これにより、averageWeight は Type の複数のインスタンスにわたって計算されます。

作成セッションプロセスで トピック リソースとして、 /人/結果 ResourceIdとして。
以下を行うには、 クリックして編集する ボタンをクリックしてイベント オブジェクト エディターを開き、次の内容の JSON オブジェクトを作成します。

{
   "ageStatus": "Adult",
   "averageWeight": 126.25
}

デバッグテスト最初の出力ポップアップ

詳しくはこちら OK をクリックしてイベント オブジェクト エディタを閉じます。

上で述べたように、テストでは名前空間に次の値が事前に設定されます。TutorialExampleType インスタンス。

 追加 IDE ナビゲーション バーのボタンをクリックして選択します 手順 を選び 新しい手順 ボタンをクリックして新しいプロシージャを作成します。

プロシージャに名前を付ける insertTutorialExampleType。 この手順はテストです   手順。この手順は、 TutorialExampleType タイプ。

以下をコピーして、新しい手順ペインに貼り付けます。

PROCEDURE insertTutorialExampleType()
DELETE TutorialExampleType WHERE weight < 300
INSERT TutorialExampleType(age: 10, weight: 60)
INSERT TutorialExampleType(age: 20, weight: 120)
INSERT TutorialExampleType(age: 30, weight: 150)

詳しくはこちら Save プロシージャを保存します。

 追加 もう一度ボタンを押して選択します 手順 を選び 新しい手順 ボタンをクリックして新しいプロシージャを作成します。

プロシージャに名前を付ける deleteTutorialExampleType。 この手順は、 掃除 手順。この手順は、 TutorialExampleType 挿入されたもの。

以下をコピーして、新しい手順ペインに貼り付けます。

PROCEDURE deleteTutorialExampleType()
DELETE TutorialExampleType WHERE weight < 300

詳しくはこちら Save プロシージャを保存します。

テストに必要なものは、   の三脚と 掃除 手順。 に戻ります ホイール試乗 を定義していたペイン TutorialExampleRule0 テストしてクリックします 全般 タブには何も表示されないことに注意してください。

選択する insertチュートリアル例タイプ として 設定手順 の三脚と deleteチュートリアルの例の種類 として 掃除 手順。 Save テスト。

SetupAndCleanupSourceProcs

クリック テスト履歴を表示 ボタンをクリックすると、テストの実行をリアルタイムで監視できます。 テストを実行 「次へ」ボタンをクリックします。

展示履歴

に戻ります TutorialExampleRule ルール。 新しいテストを選択します TutorialExampleRule0 [実行]ドロップリストから選択し、 ラン.

テスト履歴リストに、テストの実行が成功したことを示す緑色のチェックが付いたエントリが XNUMX つ表示されるまで待ちます。

成功テスト1

トリガーされないルールのテスト

次に、INSERT が実行されるケースをテストする XNUMX 番目のテストを作成します。 TutorialExampleType タイプには 年齢 < 5 これによりルールがトリガーされるべきではありません。

トリガーされていないルールの Autopsy ペインに戻り、 をクリックします。 テストの作成.

テストの作成

テストに名前を付けます TutorialExampleRule1 [OK]をクリックします。

新しい ホイール試乗 ペインが開き、テストのすべての一般プロパティがすでに設定されています。
以下のスクリーンショットに示すように、ジョブタイプを タイムアウト時間 テストのために 10 seconds.

デバッグテスト

に移動します 入力 タブをクリックして、「入力」リストに入力が XNUMX つあることを確認します。

デバッグテスト入力リスト

[出力] タブに移動し、 をクリックします。 出力を追加.

作成セッションプロセスで トピック リソースとして、 /人/結果 ResourceIdとして。ルールはトリガーされないため、PUBLISHESは存在しない。 /人/結果 トピック。検証方法を 見つけて下さい。 これは、テストが期待していることを意味します 出版物はありません   /人/結果 トピック、および1つが受信された場合 タイムアウト時間 期間が経過すると、テストは失敗します。

デバッグテスト最初の出力ポップアップ

に移動します 全般 タブには何も表示されないことに注意してください。

SetupAndCleanupSourceProcs

ルールはトリガーされず、averageWeightも計算されないため、セットアップ手順は必要ありません。ただし、このテストはINSERTを実行します。 TutorialExampleType クリーンアップするタイプを選択します。 deleteチュートリアルの例の種類 として 掃除 手順。 Save テスト。

[履歴を表示] ボタンをクリックして、テストの実行をリアルタイムで監視します。

Sハウヒストリー

に戻ります TutorialExampleRule ルール。 新しいテストを選択します TutorialExampleRule1 [実行]ドロップリストから選択し、 ラン.

テスト履歴リストに、テストの実行が成功したことを示す緑色のチェックが付いたエントリが XNUMX つ表示されるまで待ちます。

成功テスト2

テストスイートの実行

に移動します テストスイートのリスト 選択することにより テストスイート 下 ホイール試乗 タブ。 というエントリが XNUMX つあるはずです。 TutorialExampleRule_UnitTestSuite。 これは、をテストするすべての単体テスト用に自動生成されたテスト スイートです。 TutorialExampleRuleこのテスト スイートは、このルールをテストするすべてのユニット テストを常に最新の状態に維持します。

テストスイートリスト

テスト スイートをクリックして、テスト スイート ペインを開きます。

テストスイート全般

「テスト」タブに移動して、このルールのすべてのテストのリストを表示します。 定義した両方のテストが表示されるはずです。

テストスイートテスト

詳しくはこちら テストを実行 テストスイートを実行します。

詳しくはこちら テスト履歴を表示 テストスイートが正常に完了したことを示す緑色のチェックマークが表示されるまでお待ちください。これはタイムアウト時間なので、10秒強かかるはずです。

テストスイートレポートリスト

レポートをクリックすると、テスト スイート内の各テストの内訳が表示されます。

テストスイートレポート

結論

アプリケーションを作成する開発者は、次のことを簡単に実行できるようになります。

  • コードの一部を段階的にトレースして、サンプル入力を使用してルールとプロシージャがどのように機能するかを確認します。
  • ルールと手順の解剖からテストを作成する
  • テストのセットアップおよびクリーンアップ手順を作成する
  • テストスイートを実行する
著作権 © 2024 VANTIQ, Inc.
この記事は役に立ちましたか?
0星のうち5
5スター 0%
4スター 0%
3スター 0%
2スター 0%
1スター 0%
5
フィードバックを共有してください
この記事をどのように改善できるでしょうか?
前へ システムモデラー
次へ 入門チュートリアルのテスト