Unit testing lein midje找不到文件
我试图用它来做单元测试,但我遇到了一些麻烦 假设我有这个目录结构:Unit testing lein midje找不到文件,unit-testing,clojure,midje,Unit Testing,Clojure,Midje,我试图用它来做单元测试,但我遇到了一些麻烦 假设我有这个目录结构: ├── src │ └── clj │ └── faris │ └── lune │ ├── core.clj │ ├── index │ │ ├── comment.clj │ │ └── place.clj │ ├── middleware │
├── src
│ └── clj
│ └── faris
│ └── lune
│ ├── core.clj
│ ├── index
│ │ ├── comment.clj
│ │ └── place.clj
│ ├── middleware
│ └── core.clj
└── test
└── clj
└── faris
└── lune
└── middleware
└── t_core.clj
其中…/faris/lune/middleware/t_core.clj包含一个简单的测试:
(ns faris.lune.middleware.t-core
(:require [faris.lune.middleware.core :refer :all]
[midje.sweet :refer :all]))
(fact "simple test"
(+ 1 1) => 2)
它总是失败,并显示以下错误消息:
Exception in thread "main" java.io.FileNotFoundException: Could not locate faris/lune/middleware/t_core__init.class or faris/lune/middleware/t_core.clj on classpath: , compiling:(/tmp/form-init2527989536148890974.clj:1:90)
at clojure.lang.Compiler.load(Compiler.java:7142)
at clojure.lang.Compiler.loadFile(Compiler.java:7086)
at clojure.main$load_script.invoke(main.clj:274)
at clojure.main$init_opt.invoke(main.clj:279)
at clojure.main$initialize.invoke(main.clj:307)
at clojure.main$null_opt.invoke(main.clj:342)
at clojure.main$main.doInvoke(main.clj:420)
at clojure.lang.RestFn.invoke(RestFn.java:421)
at clojure.lang.Var.invoke(Var.java:383)
at clojure.lang.AFn.applyToHelper(AFn.java:156)
at clojure.lang.Var.applyTo(Var.java:700)
at clojure.main.main(main.java:37)
Caused by: java.io.FileNotFoundException: Could not locate faris/lune/middleware/t_core__init.class or faris/lune/middleware/t_core.clj on classpath:
at clojure.lang.RT.load(RT.java:443)
at clojure.lang.RT.load(RT.java:411)
at clojure.core$load$fn__5066.invoke(core.clj:5641)
at clojure.core$load.doInvoke(core.clj:5640)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at clojure.core$load_one.invoke(core.clj:5446)
at clojure.core$load_lib$fn__5015.invoke(core.clj:5486)
at clojure.core$load_lib.doInvoke(core.clj:5485)
at clojure.lang.RestFn.applyTo(RestFn.java:142)
at clojure.core$apply.invoke(core.clj:626)
at clojure.core$load_libs.doInvoke(core.clj:5524)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at clojure.core$apply.invoke(core.clj:626)
at clojure.core$require.doInvoke(core.clj:5607)
at clojure.lang.RestFn.invoke(RestFn.java:421)
at midje.repl$load_facts$fn__7983.invoke(repl.clj:206)
at midje.repl$load_facts.doInvoke(repl.clj:192)
at clojure.lang.RestFn.invoke(RestFn.java:397)
at user$eval8046.invoke(form-init2527989536148890974.clj:1)
at clojure.lang.Compiler.eval(Compiler.java:6703)
at clojure.lang.Compiler.eval(Compiler.java:6693)
at clojure.lang.Compiler.load(Compiler.java:7130)
... 11 more
Subprocess failed
这对我来说非常神秘,因为它就像midje找到了测试文件一样,阅读ns faris.lune.middleware.t-core,然后说它找不到它
有什么帮助吗?我肯定错过了一些明显的东西。你能添加你的项目吗。clj?可能是您没有正确设置:测试路径。我真傻,这是关于名称空间的。文件夹以clj/faris/…开头。。。但是我在没有clj的情况下把它弄坏了。我以为这会起作用,因为我设置了:test路径[test/clj],但事实并非如此。最后我把所有的电话都打了。