0

Timbreをclojure.testと共にテスト プロジェクトにロードしようとしています。私の最初の試みは

(ns foo.core-test
  (:require [clojure.test :refer :all]
            [taoensso.timbre :as timbre]
            [foo.core :refer :all]))

これは、Timbre ドキュメントの次のステップに従うまでコンパイルされます。

(timbre/refer-timbre) ; Provides useful Timbre aliases in this ns

次のコンパイルエラーが発生します

IllegalStateException report already refers to #'clojure.test/report in namespace foo.core-test
clojure.lang.Namespace.warnOrFailOnReplace (Namespace.java:88)

OK、グルーヴィー、試してみます

(ns foo.core-test ; ------vvvvvvvvvvvvvvvv-----
  (:require [clojure.test :exclude [report]]
            [taoensso.timbre :as timbre]
            [foo.core :refer :all]))

うーん、いいえ。clojure にも があることに気付きましたreport。どうですか

(ns foo.core-test
  (:refer-clojure :exclude [report])
  (:require [clojure.test :refer :all]
            [taoensso.timbre :as timbre]
            [foo.core :refer :all]))

うーん、いいえ。

組み合わせの試行錯誤に飽きるまで、しばらくハッキングしました。それらを共存させる方法が見つかりませんでした。手がかりはありますか?

4

1 に答える 1

1

ありませんreportclojure.coreあなたの 2 番目のnsフォームでは、欠落しているよう:refer :allですclojure.test。次のフォームを試してください。

(ns foo.core-test
  (:require [clojure.test :refer :all :exclude [report]]
            [taoensso.timbre :as timbre]
            [foo.core :refer :all]))
于 2014-04-28T11:25:58.477 に答える