Leiningenをテスト中
-
27-09-2019 - |
質問
私は次のディレクトリ構造とLeiningenをを用いた小型のClojureプロジェクトを書いています:
project
+ src
+ org/example/project/core.clj
+ test
+ org/example/project/core.clj
私はlein test
を実行すると、それが0の障害と0のテストを実行したことを報告し、私は意図的にテスト/.../ core.cljファイルで失敗するように設計された試験を置いています。
私は私の:test-path test
ファイルにラインproject.clj
を追加し、私は-RANを再とき、エラーを得ます:
Exception in thread "main" java.lang.IllegalArgumentException: No implementation of method: :as-file of protocol: #'clojure.java.io/Coercions found for class: clojure.lang.Symbol (NO_SOURCE_FILE:0)
at clojure.lang.Compiler.eval(Compiler.java:5440)
at clojure.lang.Compiler.eval(Compiler.java:5391)
at clojure.core$eval.invoke(core.clj:2382)
at clojure.main$eval_opt.invoke(main.clj:235)
at clojure.main$initialize.invoke(main.clj:254)
at clojure.main$script_opt.invoke(main.clj:270)
at clojure.main$main.doInvoke(main.clj:354)
at clojure.lang.RestFn.invoke(RestFn.java:458)
at clojure.lang.Var.invoke(Var.java:377)
at clojure.lang.AFn.applyToHelper(AFn.java:174)
at clojure.lang.Var.applyTo(Var.java:482)
at clojure.main.main(main.java:37)
Caused by: java.lang.IllegalArgumentException: No implementation of method: :as-file of protocol: #'clojure.java.io/Coercions found for class: clojure.lang.Symbol
at clojure.core$_cache_protocol_fn.invoke(core_deftype.clj:471)
at clojure.java.io$fn__7328$G__7323__7333.invoke(io.clj:34)
at clojure.java.io$file.invoke(io.clj:401)
at leiningen.util.ns$namespaces_in_dir.invoke(ns.clj:38)
at leiningen.test$test.doInvoke(test.clj:45)
at clojure.lang.RestFn.invoke(RestFn.java:411)
at clojure.lang.Var.invoke(Var.java:365)
at clojure.lang.AFn.applyToHelper(AFn.java:163)
at clojure.lang.Var.applyTo(Var.java:482)
at clojure.core$apply.invoke(core.clj:542)
at leiningen.core$apply_task.invoke(core.clj:156)
at leiningen.core$_main.doInvoke(core.clj:212)
at clojure.lang.RestFn.applyTo(RestFn.java:138)
at clojure.core$apply.invoke(core.clj:540)
at leiningen.core$_main.invoke(core.clj:217)
at user$eval167.invoke(NO_SOURCE_FILE:1)
at clojure.lang.Compiler.eval(Compiler.java:5424)
... 11 more
私はClojureの1.2と最新レイン(1.3.1)を実行しています。
clojure.coreやレインコードのいずれかに問題があるように見えます。
解決
ソースレイアウトのように、
。私はあなたが基本的に実際のcore.cljファイルを使用してテストをシャドウと思います。 clojure.test
はどんなテストが見つからない理由は、おそらくです。あなたは別の名前空間とファイル名を試してみましたか?例えば。 test/example/project/test_core.clj
ます。
他のヒント
は同じ問題を持っていました。
:私はテストへのデフォルトのパスleinsがあることに気づいている間後テスト/ {プロジェクト名} / のテストの/ {ファイル被試験} .clj
( "余分な" テストディレクトリに注意してください)。
所属していません StackOverflow