在clojure项目中组织测试层次结构

时间:2012-06-06 04:12:15

标签: testing clojure

clojure项目中有两个目录--src /和test /。 在src / calc /目录中有一个以

开头的文件my_methods.clj

(ns calc.my_methods...)

我想在测试目录中为它创建一个测试文件 - test / 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

2 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:1)

在文件名和命名空间中使用破折号和下划线时要非常小心。如果你没有正确的命名约定,这可能是很多混乱的根源。见https://stackoverflow.com/a/2223369/32174,第2点。正如@trptcolin提到的,使用Leiningen。