2013-07-25 2 views
1

clojure maven 플러그인을 사용하여 프로젝트를 빌드하고 있습니다. 프로젝트 테스트를 포함, 우리는 다음과 같은 내용이 mytest.clj을 가정 해 봅시다 :clojure maven plugin : mvn clojure를 사용할 때 clojure 테스트가 성공합니다. 테스트 중이지만 mvn install을 사용할 때 테스트 단계가 아닙니다.

(def ^:dynamic *server* 
    (create-server "tcp://bla.bla:9999")) 

(deftest blabla1...) 
(deftest blabla2...) 

을 내가 MVN의 Clojure를 실행하는 경우 : 시험을, 빌드가 성공적으로 실행됩니다. 내가 테스트 단계에 도달하면 가 MVN 다음를 설치 실행하면

는하지만, 서버는 mytest.clj가 시작에 선언했다. 시작 후에는 아무 일도 일어나지 않습니다 : clojure 테스트 스크립트가 정지 된 것처럼 보이고 프로젝트 빌드가 (오류 메시지없이) 계속 될 수 없습니다 : Maven이 멈 춥니 다. 이미 말했듯이, mvn clojure : 테스트가 동일한 프로젝트에서 성공적으로 실행됩니다.

누군가이 문제를 해결하는 방법을 알고 있습니까?

도움이 될 것입니다. 사전에 들으 감사

호레이스

PS : 나는 표준 가 MVN 컴파일 설치 사용하고 내 프로젝트의 포장이 치어의 'Clojure의'하나로 구성되어 있기 때문에 Clojure의 소스를 테스트 할 수 있습니다 .xml. 결과적으로 clojure maven plugin은 컴파일, 테스트 및 테스트 컴파일 단계에서 자동으로 바인딩됩니다.

답변

1

테스트가 실행될 때 서버를 시작하지만 모든 것이 끝나면 서버를 종료하지 않는 것이 문제입니다.

테스트에서 시작하는 모든 스레드/에이전트/서버를 죽이는 지 확인하려면 조명기를 사용하는 것이 좋습니다.

Clojure: How To use-fixtures in Testing