midje フレームワークを使用してleiningen の compojure テンプレート ( lein new compojure financeiro
) でテストを実行しようとすると、次の警告が表示されます。
lein midje
WARNING: any? already refers to: #'clojure.core/any? in namespace: leiningen.midje, being replaced by: #'leiningen.midje/any?
nil
All checks (3) succeeded.
私のテストコードhandler_test.clj
:
(ns financeiro.handler-test
(:require
; [clojure.test :refer :all]
[midje.sweet :refer :all]
[ring.mock.request :as mock]
[financeiro.handler :refer :all]))
; (deftest test-app
; (testing "main route"
; (let [response (app (mock/request :get "/"))]
; (is (= (:status response) 200))
; (is (= (:body response) "Hello World"))))
; (testing "not-found route"
; (let [response (app (mock/request :get "/invalid"))]
; (is (= (:status response) 404)))))
(facts "'Hello World' main route"
(fact "response status is 200"
(let [response (app (mock/request :get "/"))]
(:status response)=> 200))
(fact "body text is 'Hello World'"
(let [response (app (mock/request :get "/"))]
(:body response)=> "Hello World")))
(facts "not-found route"
(fact "response status is 404"
(let [response(app (mock/request :get "/invalid"))]
(:status response)=> 404)))
私のプロジェクトファイルproject.clj
:
(defproject financeiro "0.1.0-SNAPSHOT"
:description "FIXME: write description"
:url "http://example.com/FIXME"
:min-lein-version "2.0.0"
:dependencies [
[org.clojure/clojure "1.10.0"]
[compojure "1.6.1"]
[ring/ring-defaults "0.3.2"]
]
:plugins [
[lein-ring "0.12.5"]
]
:ring {
:handler financeiro.handler/app
}
:profiles {
:dev {
:dependencies [
[javax.servlet/servlet-api "2.5"]
[ring/ring-mock "0.3.2"]
[midje "1.9.8"]
]
:plugins [
[lein-midje "3.2.1"]
]
}
}
)
clojure.test
( )を使用してデフォルトのテストを実行するとlein test
、警告は表示されませんが、midje.sweet
( lein midje
) を使用して実行すると、 「namespace: leiningen.midje」および「replace #'clojure.core/any? #'leiningen.midje/any?' へ 、Web で解決策を探していますが、この特定の警告(leiningen/compojure/midje)が見つかりません。私は clojure と midje の初心者です。私は今学んでいます。この名前空間を置き換えることができるファイルはどれですか? この警告を削除する簡単な解決策はありますか? または、これはフレームワーク midje のバグですか?
これによってテストの実行が妨げられることはありませんが、テストを実行するたびにこのメッセージが表示されるのは面倒です。
注: 以前のバージョンの midje も試してみました[midje "1.9.6"]
が、うまくいきませんでした!