2012-06-06 44 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。