2012-06-06 45 views
1

clojure项目中有两个目录 - src /和test /。 src/calc /目录中有一个文件my_methods.clj,以在clojure项目中组织测试层次

(ns calc.my_methods...)开头。

我想在测试目录为它创建一个测试文件 - 测试/ my_methods-test.clj

(ns test.my_methods-test 
    (:require [calc.my_methods]) 
    (:use clojure.test)) 

在$ CLASSPATH有两个项目的根目录和src /目录。但是异常仍然是

“无法在类路径中找到calc/my_methods__init.class或calc/my_methods.clj”。在测试文件中要求它有什么问题?

echo $CLASSPATH给出了这样的:

~/project:~/project/src 

回答

4

首先,我建议使用Leiningen管理CLASSPATH你。第二,我发现~这个字符代表我的主目录不会在CLASSPATH的上下文中工作 - 我必须指定绝对路径,没有别名(例如/Users/colin/path/to/project)。第三,通常在类路径上有srctest,但不是项目的根级别。

+0

+1表示leiningen。它是Clojure事实上的标准构建/运行/插件工具,它可以让你的生活简化一百万倍。 – Gert

1

请注意您在文件名和命名空间中使用破折号和下划线。如果你没有正确的命名规则,这可能是很多混乱的根源。见https://stackoverflow.com/a/2223369/32174,第2点。正如@trptcolin提到的那样,使用Leiningen。