본 번역은 검증되지 않았습니다. AIP를 통해 영문원문으로부터 번역되었습니다.

오브젝트셋 검색 및 집계 스텁

유닛 테스트를 작성할 때 오브젝트셋 검색이나 오브젝트 집계에 대한 스텁(canned answers)을 생성하여 코드가 작성하는 유닛 테스트 중 호출에 대한 응답을 지정하려면 { whenObjectSet }"@foundry/functions-testing-lib"에서 가져와야 합니다.

오브젝트셋에서 필터 테스트하기

Copied!
1 2 3 4 5 6 7 8 9 10 // "@foundry/ontology-api"에서 Objects를 가져옵니다. import { Objects } from "@foundry/ontology-api"; // 객체 타입을 검색하여 objectSet 변수에 할당합니다. const objectSet = Objects.search().objectType(); // myFunctions의 filterObjectSet 함수에 objectSet을 입력으로 주고, // 이 함수의 결과가 objectSet의 각 요소 s에서 s.prop.range()이 0 이상인 요소로 구성된 새로운 집합과 동일한지 확인합니다. expect(myFunctions.filterObjectSet(objectSet)) .toEqual(objectSet.filter(s => s.prop.range().gte(0)))

오브젝트 속성에서 집계를 테스트하기 위해 스텁 사용

스텁을 사용하여 집계 호출에 대한 응답을 정의할 수 있습니다.

Copied!
1 2 3 4 import { whenObjectSet } from "@foundry/functions-testing-lib" // 객체의 속성을 검색하여 합계를 구한 후 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 9 10 11 12 13 14 15 16 17 // 영어 코드 // import { whenObjectSet } from "@foundry/functions-testing-lib"; // 한국어 주석: "@foundry/functions-testing-lib"에서 "whenObjectSet"을 가져옵니다. import { whenObjectSet } from "@foundry/functions-testing-lib"; // 영어 코드 // whenObjectSet(Objects.search().objectType().orderBy().takeAsync(10)).thenReturn([employeeObj]) // 한국어 주석: 객체를 검색하고, 객체 유형을 설정하고, 정렬한 뒤 비동기적으로 10개의 결과를 가져옵니다. 그런 다음 employeeObj 배열을 반환합니다. whenObjectSet(Objects.search().objectType().orderBy().takeAsync(10)).thenReturn([employeeObj]) // 영어 코드 // await expect(myFunctions.aggregateSum(objectSet)).resolves.toEqual(65); // 한국어 주석: objectSet의 aggregateSum 함수를 실행하고 결과가 65와 동일한지 확인합니다. await expect(myFunctions.aggregateSum(objectSet)).resolves.toEqual(65);

이것은 특정 오브젝트 검색 집계가 실행될 때마다, 속성 합계가 65로 계산된다는 것을 의미합니다.