2017-02-06 8 views
3

개발 및 테스트 환경을 위해 database-url을 별도로 설정했으며 REPL 및 lein test 명령 줄에서 webapp을 실행할 때 제대로 작동합니다. 여기 내 profiles.clj : 내가 이맥스에 사이다를 통해 테스트를 실행할 때테스트를 실행할 때 emacs 사이더 (clojure 모드)에서 테스트 환경 변수를 사용하려면 어떻게해야합니까?

그러나
;; Running the site from the REPL: 
[info] [<0.12149.0>] 127.0.0.1 - - GET /wiki/home-page 200 
[info] [<0.10353.0>] 127.0.0.1 - - GET /wiki/about 200 

;; Running lein test: 
[info] [<0.12026.0>] 127.0.0.1 - - GET /wiki-test/welcome 404 
[error] [<0.12933.0>] Could not open file /usr/local/var/lib/couchdb/wiki-test.c 

, 그것은 dev에 환경을 사용

{:profiles/dev {:env {:database-url "wiki"}} 
:profiles/test {:env {:database-url "wiki-test"}}} 

그리고 올바른 데이터베이스 인스턴스의 증거 (내가 CouchDB를 사용하고 있습니다) 박히는 따라서 잘못된 데이터베이스 인스턴스입니다.

어떻게 수정합니까?

답변

0

나는 이것을 with-redefs으로 시도해 보시기 바랍니다. 이 같은

뭔가 : db 당신이 당신의 시험에 DB 핸들을 결합하는 기호입니다

(with-redefs [db (get-my-test-db)] 
    (run-my-tests) 

.

이 기사는 도움이 될해야합니다 Isolating External Dependencies in Clojure

+0

덕분에, 나는 그것이 어떻게 작동하는지 볼 수 있다고 생각하지만, 그것은 바로 테스트 환경을 사용하지 않을까요? 대체 방법은 Cider가 기본적으로 테스트 환경을 사용하도록하는 것일 수 있습니다. –