2016-11-11 14 views
0

Midjeライブラリを使用してテストするLeiningenプロジェクトがあります。 Howerver私はだから私は、私は依存関係を持つdevプロファイルを誤って定義されているので、これは推測Midjeテストの実行中にFileNotFound例外が発生する

java.io.FileNotFoundException: Could not locate midje/util/ecosystem__init.class or midje/util/ecosystem.clj on classpath 

を取得lein testの場合には、私はと

java.io.FileNotFoundException: Could not locate midje/sweet__init.class or midje/sweet.clj on classpath 

または代わりを取得し、任意のテストを実行することはできませんよ本当の問題がどこにあるのかは分かりません。

はボーナスとして、私はまた、私はいつも、私は(これは同様に同じ問題になる可能性があります) envマップのうち、いくつかのプロパティを引っ張って欲しい nil取得しています environ作業を取得することはできません。

マイproject.clj

(defproject 
    project 
    "0.1.0-SNAPSHOT" 
    :dependencies 
    [[org.clojure/clojure "1.8.0"] 
    [environ "1.1.0"] 
    ;; other deps, midje is not there 
    :repl-options 
     {:init-ns mailing.repl} 
    :jvm-opts 
     ["-server"] 
    :plugins 
     [[lein-ring "0.8.13"] 
     [lein-environ "1.0.0"] 
     [lein-ancient "0.5.5"] 
     [migratus-lein "0.4.2"]] 
    :ring 
    {:handler mailing.handler/app, 
    :init mailing.handler/init, 
    :destroy mailing.handler/destroy} 
    :profiles 
     {:uberjar {:omit-source true, :env {:production true}, :aot :all}, 
     :production 
     {:ring {:open-browser? false, :stacktraces? false, :auto-reload? false}}, 
     {:dev 
     {:env 
      {:db-user "user" 
      :db-password "psswd" 
      :db-classname "org.postgresql.Driver" 
      :db-subprotocol "postgresql" 
      :db-subname "//localhost/mailer"}}} 
     {:dependencies 
[[ring-mock "0.1.5"] 
[ring/ring-devel "1.3.1"] 
[midje "1.6.3"]], 
:env {:dev true}}} 
    :migratus { 
     :store :database 
     :migration-dir "migrations" 
     :db { 
       :classname "org.postgresql.Driver" 
       :subprotocol "postgresql" 
       :subname "//localhost/mailer" 
       :user "usr" 
       :password "psswd"}} 
;; refer to user and psswd from project 
:min-lein-version "2.0.0") 
+0

開発の依存関係が:devプロファイルブロック内にないように見えます。 – jszakmeister

+0

うん、私も気付いたが、私はそこに置くと、 '地図のリテラルに偶数のフォームが含まれていなければならない 'と言うだろう。だから私は正しい構文がわからない –

答えて

1

私はこれを試していませんでしたが、構造が非常に適切では表示されません。それはトップの近くにあなたの:dependeciesブロックのように見えます

(defproject project "0.1.0-SNAPSHOT" 
    :dependencies [[org.clojure/clojure "1.8.0"] 
       [environ "1.1.0"]] 
    ;; other deps, midje is not there 
    :repl-options {:init-ns mailing.repl} 
    :jvm-opts ["-server"] 
    :plugins [[lein-ring "0.8.13"] 
      [lein-environ "1.0.0"] 
      [lein-ancient "0.5.5"] 
      [migratus-lein "0.4.2"]] 
    :ring {:handler mailing.handler/app 
     :init mailing.handler/init 
     :destroy mailing.handler/destroy} 
    :profiles {:uberjar {:omit-source true 
         :env {:production true} 
         :aot :all} 
      :production {:ring {:open-browser? false 
           :stacktraces? false 
           :auto-reload? false}} 
      :dev {:env {:db-user "user" 
         :db-password "psswd" 
         :db-classname "org.postgresql.Driver" 
         :db-subprotocol "postgresql" 
         :db-subname "//localhost/mailer" 
         :dev true} 
        :dependencies [[ring-mock "0.1.5"] 
            [ring/ring-devel "1.3.1"] 
            [midje "1.6.3"]]}} 
    :migratus {:store :database 
      :migration-dir "migrations" 
      :db {:classname "org.postgresql.Driver" 
        :subprotocol "postgresql" 
        :subname "//localhost/mailer" 
        :user "usr" 
        :password "psswd"}} 

    ;; refer to user and psswd from project 
    :min-lein-version "2.0.0") 

は(何の終値])不正な形式ではない、と開発の依存関係が実際に:devプロファイルに関連付けられていなかった。私はそれが何かをすべきだと思います。 :migratus:devのプロファイルに属しているかどうかわからなかったので、上記の例ではその外にあります。

ライニンゲンのレポのFWIWファイルsample projectが参考になります。

+0

あなたのアドバイスに従おうとしましたが、エラーは同じままです http://pastebin.com/9uLX038t –

+0

上記の例で作業してみましたか?そうでなければ、最初の ':dependencies'ブロックを修正していない可能性もありますが、これも問題です。また、あなたはそれをより小さな例にすることができますか?もしそうなら、私はもう少し見て、助けてもらうことができます。その外の私の最高のアドバイスは、最小限の新しい 'defproject'ブロックを作成し、あなたが何かを稼働させてそこからビルドできるかどうかを調べることです。 – jszakmeister

+0

はい、私がここで尋ねる前に見ていたリソースです。セットアップを数時間実行しました。だから私は本当にミーニェが実際にそこにいることをライニンゲンに説得する方法がわからないので、私はそちらに行きました。しかし、私はそれほど複雑ではないセットアップで試してみるつもりです、ありがとうございます。 –

関連する問題