0

我正在尝试使用midje进行单元测试,但遇到了一些问题。

假设我有这个目录结构:

├── 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) 然后说找不到它。

有什么帮助吗?我一定遗漏了一些明显的东西。

4

0 回答 0