TypeScript v1 함수 단위 테스트
TSv1 함수 템플릿은 Jest와 Foundry 테스트 도구를 제공합니다. 기본 테스트 파일은 functions-typescript/src/tests/index.ts이며 tests 아래에 추가 파일을 둘 수 있습니다.
계산 함수와 테스트
functions-typescript/src/index.ts에 다음 함수를 정의합니다. Integer 범위 안에서 결과를 만들 수 있는 값을 입력으로 사용합니다.
import { Function, Integer } from "@foundry/functions-api";
export class MyFunctions {
@Function()
public addOne(n: Integer): Integer {
return n + 1;
}
}
src/tests/index.ts에서 같은 클래스를 불러와 알려진 입력과 기대값을 비교합니다.
import { MyFunctions } from "..";
describe("example test suite", () => {
const functions = new MyFunctions();
test("test add one", () => {
expect(functions.addOne(42)).toEqual(43);
});
});
비동기 함수는 Promise 또는 resolves 검증을 await하거나 반환하여 Jest가 완료를 기다리게 해야 합니다.
실행 위치
편집기 오른쪽 위 Test는 모든 테스트를 실행합니다. 테스트 줄 옆 삼각형 Play는 해당 테스트만 실행합니다.
Commit하면 Checks에서도 모든 테스트를 실행합니다.
온톨로지 테스트 도구
- 테스트용 객체는 Objects.create로 입력 객체의 속성을 준비합니다.
- 편집 검증은 함수가 생성, 수정, 삭제와 링크 변경을 정확히 만드는지 검사합니다.
- 객체 검색 대체 응답은 검색과 집계가 반환할 데이터를 지정합니다.
- 시각과 UUID는 비결정적 값을 테스트에서 고정합니다.
- 사용자와 그룹은 조회할 보안 주체를 테스트 환경에 만듭니다.
- 디버깅은 중단점과 변수 검사를 설명합니다. undefined 처리와 오류 타입도 실패 경계를 만드는 데 사용합니다.
단위 테스트는 준비한 객체와 대체 응답으로 함수 로직을 검사합니다. 실제 플랫폼의 권한과 서비스 연동은 통합 환경에서 확인합니다.