어떤 프로그래밍 언어를 사용해서 프로그램을 하든 테스팅 프레임워크와 프로파일러는 필요하다. 커먼 리습의 테스팅 프레임워크들을 잘 정리해놓은 글이 있어 링크해본다. Common Lisp Testing Framework
lisp-unit은 사용법이 아주 간단할 뿐더러 문서화도 잘 되어 있다. 하지만 테스트를 조직화 할 수 있는 방법이 마땅치 않아서 간단한 테스트만을 필요로 할 때 적합하다고 한다. FiveAM과 Stefil은 좀 더 스케일이 크고 조직화된 테스트에 적합하다고 한다.
1. lisp-unit 설치
lisp-unit은 원래 파일 하나로 배포되었지만, 2007년 1월 11일자로 asdf-install 가능하게 바뀌었다. 설치하려면 슬라임에서 다음과 같이 한다.
(require 'asdf-install)
(asdf-install:install 'lisp-unit)
2. FiveAM과 Stefil 설치
FiveAM과 Stefil을 설치하기 전에 해야 할 것이 두 가지 있다.
1. 다음과 같이 최신의 slime을 받아서 사용하는 것이 좋다.
cvs -d :pserver:anonymous:anonymous@common-lisp.net:/project/slime/cvsroot co slime
slime-2.0을 사용하면 컴파일이 제대로 되지 않는다.
2. slime이 위치한 디렉토리를 asdf:*central-registry*에 추가한다.
추가하지 않고 컴파일하면, FiveAM과 Stefil 둘 다 swank라는 것을 요구하는 것을 볼 수 있다. swank는 slime의 다른 이름이다. 리습구현의 스타트업 파일에(SBCL의 경우에는 홈 폴더의 .sbclrc 파일) 다음과 같이 slime이 위치한 디렉토리를 추가해주면 된다.
(push #p"/Users/chanwoo/cl-library/slime/" asdf:*central-registry*)
이제 준비가 되었으면 두 테스팅 프레임워크를 설치해보자.
1. FiveAM 설치
FiveAM은 asdf로 설치 가능하다. 다음과 같이 하면 설치 끝.
(require 'asdf-install) ;GPG체크 때문에 디버거로 떨어지면 0번을 눌러서 진행하면 된다.
(asdf:install-install 'fiveam)
2. Stefil 설치
먼저 iterate, alexandria, defclass-star를 설치해야 한다.
(require 'asdf-install)
(asdf-install:install 'iterate)
(asdf-install:install 'alexandria)
defclass-star는 다음과 같이 darcs로 내려받은 후,
darcs get http://common-lisp.net/project/defclass-star/darcs/defclass-star
폴더를 asdf:*central-registry*에 추가하면 설치 끝이다.
세 가지를 다 설치했다면, 이제 Stefil을 다음과 같이 내려받은 후,
darcs get http://common-lisp.net/project/stefil/darcs/stefil
해당 디렉토리를 asdf:*central-registry*에 추가하면 설치 끝.
설치가 끝나고 FiveAM이나 Stefil을 사용하려면 SBCL에서는 단순히,
(require 'fiveam) 또는 (require 'stefil) 로 충분하다.
SBCL외의 다른 구현을 사용한다면,
(asdf:operate 'asdf:load-op 'fiveam) 또는 (asdf:operate 'asdf:load-op 'stefil) 라고 하면 된다.
피드 구독하기:
댓글 (Atom)
댓글 없음:
댓글 쓰기