注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
ユニットテストを書く際に、オブジェクトセットの検索やオブジェクトの集計について、コードが呼び出す応答を指定するために、キャンドアンサー(スタブとも呼ばれます)を作成することがあります。スタブを使用するには、{ whenObjectSet }
を "@foundry/functions-testing-lib"
からインポートする必要があります。
Copied!1 2 3 4 5 6 7 8 9 10
// 日本語のコメントを追加します import { Objects } from "@foundry/ontology-api"; // オブジェクトセットを検索して、オブジェクトタイプを取得します const objectSet = Objects.search().objectType(); // myFunctions.filterObjectSet が期待通りに機能するかテストします // オブジェクトセット内のすべての要素がプロパティの範囲が 0 以上であることを確認します expect(myFunctions.filterObjectSet(objectSet)) .toEqual(objectSet.filter(s => s.prop.range().gte(0)))
スタブを使用して、集計呼び出しの応答を定義することができます。
Copied!1 2 3 4 5
// "@foundry/functions-testing-lib" から "whenObjectSet" をインポートします import { whenObjectSet } from "@foundry/functions-testing-lib" // Objects.search().objectType() から取得した各オブジェクトの "property" の合計値が 55 になるように設定します whenObjectSet(Objects.search().objectType().sum(s => s.property)).thenReturn(55);
これは、Objects.search().objectType().sum(s => s.property))
が実行されるたびに、結果は55になることを意味します。
スタブを使用して、特定のオブジェクト検索の応答を定義することもできます。
Copied!1 2 3 4 5 6 7 8
// 日本語のコメントを追加します import { whenObjectSet } from "@foundry/functions-testing-lib"; // オブジェクトが設定されたときに従業員オブジェクトを返すように設定 whenObjectSet(Objects.search().objectType().orderBy().takeAsync(10)).thenReturn([employeeObj]) // 集計関数が正しく動作することを期待するテスト await expect(myFunctions.aggregateSum(objectSet)).resolves.toEqual(65);
このことは、この特定のオブジェクト検索集計が実行されるたびに、プロパティの合計が 65 になることを意味しています。