TL;DR
- Testbox는 시스템에 Lua를 설치하지 않아도 Lua로 테스트를 작성하고 실행할 수 있는 의존성 없는 테스트 러너임.
- API 테스트용 기능이 내장돼 있으며, 백그라운드 서버 실행과 HTTP 요청을 테스트에 활용함.
- 테스트는
test와expect_equal로 작성하며, 성공·실패 결과와 값의 불일치를 출력함. cargo install testbox로 설치하거나 릴리스 페이지에서 컴파일된 실행 파일을 내려받을 수 있음.- API와 명령줄 도구 테스트에 활용할 수 있고, 라이선스는 MIT임.
설치
- 시스템에
cargo와rust가 있으면cargo install testbox로 설치하고testbox --version으로 버전을 확인함. - 그렇지 않으면 릴리스 페이지에서 컴파일된 실행 파일을 내려받을 수 있음.
예제
testbox -에 Lua 테스트 코드를 입력해 실행함. 첫 번째 예제는2와1 + 1이 같은지 확인하고, 두 번째 예제는1과2가 다르면 실패 결과와 실제·기대 값을 출력함.- API 테스트에서는
exec_bg로npm run dev를 백그라운드에서 실행하고, 표준 출력에Server is ready가 나타날 때까지 기다림. 이어fetch로http://localhost:3000/api/users에GET요청을 보내고 첫 번째 사용자의 이메일을 검증함. - 명령줄 도구 테스트에서는
exec로awk를 실행해foobar를 대문자로 바꾼 결과가FOOBAR인지 확인함.
테스트 라이브러리
exec_bg와fetch같은 헬퍼 함수는 Testbox Library에 포함됨.
라이선스
- MIT 라이선스임.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요