Exercism에서 MoonScript 연습 문제를 테스트하는 방법을 알아봐요.
MoonScript 트랙에서의 테스트는 Lua 트랙에서의 테스트와 똑같아요. 연습 문제 디렉터리에서 다음을 입력해요:
$ busted
이 트랙은 Exercism의 테스트 주도 개발 방법론을 따라요. 완전한 테스트 모음이 주어지지만, 첫 번째 테스트만 "활성화"되어 있어요.
테스트를 활성화하려면 테스트의 명령을 pending에서 it로 바꿔요.
항상 모든 테스트를 실행하는 걸 좋아하는 분이라면, 명령줄 도구를 사용해 한 번에 모두 바꿀 수 있어요. 다음은 perl을 사용한 예시예요(perl은 거의 모든 곳에 설치되어 있어요):
$ perl -i -pe 's/^\s+\Kpending\b/it/' two_fer_spec.moon
온라인 에디터에서 작업할 때는 테스트 러너가 모든 테스트를 자동으로 실행해요.
Lua 자체는 아주 작은 언어예요. LuaRocks는 Lua 모듈을 위한 패키지 관리자예요.
풀이에서 어떤 모듈이든 자유롭게 사용할 수 있지만, 온라인 테스트 러너에서 모두 사용할 수 있는 것은 아니에요. 테스트 러너는 다음을 제공해요:
busted 의존성으로 이미 사용 가능
Penlight은 디렉터리 순회, 설정 파일 읽기 같은 일반적인 작업을 더 쉽게 처리할 수 있도록 해 주는 순수 Lua 라이브러리 모음이에요. 테이블과 시퀀스에 대한 함수형 연산을 제공해요.
dkjson은 JSON 데이터를 인코딩하고 디코딩하는 모듈이에요.
MoonScript 의존성으로 이미 사용 가능
LPeg는 파싱 표현 문법(PEG)에 기반한 Lua용 새로운 패턴 매칭 라이브러리예요.
LuaFileSystem은 기본 디렉터리 구조와 파일 속성에 접근하는 이식성 있는 방법을 제공해요.
날짜와 시간