TypeScript v1 함수와 단위 테스트 디버깅
Code Repositories의 디버거는 실행 중간에 멈춰 변수와 호출 프레임을 확인합니다. 라이브 미리보기와 단위 테스트에 사용할 수 있습니다.
중단점과 실행
코드 줄 번호 옆의 흐린 빨간 점을 선택해 중단점을 설정합니다. 해당 줄을 실행하기 전에 멈추며 여러 파일에 중단점을 둘 수 있습니다.
라이브 미리보기는 Functions 패널에서 Run and debug를 선택합니다.
단위 테스트는 코드 편집기에서 테스트 옆 Run test를 선택합니다.
시작하면 디버거 패널이 열리고 처음 만난 중단점에서 멈춥니다. 편집기가 강조한 줄은 다음에 실행할 줄입니다.
진행 컨트롤
| 컨트롤 | 동작 |
|---|---|
| Resume execution | 다음 중단점 또는 실행 종료까지 진행합니다. |
| Step over | 현재 줄의 내부 함수로 들어가지 않고 그 줄을 실행합니다. |
| Step into | 현재 줄에서 호출하는 내부 함수로 들어갑니다. |
| Step out | 현재 내부 함수를 빠져나와 호출자로 진행합니다. |
| Stop execution | 디버거 실행을 중단합니다. |
| Remove breakpoints | 저장소의 중단점을 모두 지우고 단위 테스트를 멈춤 없이 진행합니다. |
| Settings | 중단점을 지우지 않고 디버거를 켜거나 끕니다. |
| Documentation | 상세 도움말을 엽니다. |
프레임, 변수와 콘솔
Frames는 실행 중이거나 중단점이 있는 함수의 이름, 파일 및 줄 번호를 표시합니다. 프레임을 선택하면 그 프레임의 변수와 콘솔 문맥을 검사할 수 있습니다.
Variables는 해당 시점의 지역 변수와 전역 변수 값을 보여 줍니다.
Console은 선택한 프레임에서 JavaScript 명령을 실행합니다. 다른 프레임의 지역 변수를 사용하면 접근할 수 없어 오류가 발생합니다.
console.log
실행 경로나 반복 횟수를 확인할 때 로그를 사용할 수 있습니다.
import { Function, Integer } from "@foundry/functions-api";
export class LoggingFunctions {
@Function()
public testConsoleLogging(n: Integer): Integer {
for (let index = 0; index < n; index++) {
console.log(`Iteration ${index}`);
}
return n;
}
}
Tests helper의 실행에서는 테스트 아래에 로그를 표시합니다.
Functions helper의 라이브 미리보기는 타임스탬프와 함께 로그를 표시합니다.
단위 테스트 준비에서 테스트 파일과 실행 위치를 설명합니다. 오류 원인을 나눌 때는 값 누락과 명시적 오류 타입을 함께 확인합니다.