REPL에서 모든 leiningen 프로젝트의 테스트를 실행하는 방법은 무엇입니까? Leiningen의 lein test
이이 작업을 수행합니다. REPL에서 그것을하는 방법?REPL에서 모든 프로젝트 테스트를 실행하는 방법은 무엇입니까?
답변
(clojure.test/run-all-tests)
을 호출하여 현재로드 된 모든 테스트를 실행할 수 있습니다.
실행하려는 테스트가 자동으로 로드이 아닙니다. 테스트가 "lein test"를 통해 실행될 수 있다면 다른 네임 스페이스와 마찬가지로 테스트 네임 스페이스 require
을 사용할 수 있어야합니다. 당신이 CIDER와 이맥스를 사용하는 경우
, 당신은 또한 테스트 (테스트가 이전에로드되지 않은 경우 것을이 것이다 부하)를 실행하는 네임 스페이스에 C-c ,
을 할 수 있어야합니다.
'run-all-tests'는 의존성 테스트도 실행합니다. 최소한 그것은 모든 의존성에 대해'Testing x'를 출력합니다. 비교에서'lein test'는 현재 leiningen 프로젝트에서 정의 된 테스트 만 실행합니다. –
누락 된 부분은 실제로 어떤 테스트가 "현재 프로젝트"의 일부인지 알아내는 것입니다. clojure.test는 현재 clojure 프로그램에로드 된 프로젝트와 관련이 없습니다 (대부분의 경우 종속성 테스트는로드되지 않지만로드 된 모든 패키지에서 테스트를 확인합니다. 현재 워크 플로우는 Emacs의'cider-test-run-tests'를 실행하여 현재 패키지에 대한 빠른 테스트/코드 피드백을 제공하고 'lein test'를 실행하여 백그라운드에서 전체 프로젝트를 테스트합니다. –
동의합니다. "현재 프로젝트의 네임 스페이스 목록을 얻는 방법"에 대한 또 다른 질문을하고 싶습니다. –
왜 Leiningen 또는 Maven을 사용하고 싶지 않은지 알고 싶습니다. – Chiron
@Chiron 나는 REPL에서 테스트를 실행하는 것이 일반적으로 lein 테스트에 비해 훨씬 빠른 속도로 진행되는 반면, Maven 또는 Lein을 선택하는 이유 중 하나는 생각할 수 있습니다. –
@JoostDiepenmaat 바보 같은 생각이라고 말하지 않았습니다. – Chiron