如何在Clojure中运行测试文件

时间:2013-03-12 16:02:34

标签: testing clojure jedit

我正在使用jEdit,我想要做的是写一个文件并运行测试。我对运行测试的过程感兴趣,而不是文件本身。

所以我在File.clj

中写了这个简单的函数
(defn abs [n]
  (if (neg? n) (- n) n))

TheTest.clj

中进行此测试
(use 'clojure.test)

(load-file "File.clj")

(deftest sample-test
  (testing "abs"
    (is (= 5 (abs (5))))))

(run-tests)

然后我运行文件TheTest.clj,但它说:

java.io.FileNotFoundException: File.clj (The system cannot find the file specified) (TheTest.clj:49)

有人可以告诉我这是做事情的方法,如果不是如何运行测试:(没有必要在jEdit,它可能在命令提示符,如果它应该。也有我leiningen已安装且File.cljTheTest.clj在同一目录中。我也尝试在加载文件函数中提供文件的完整路径,但没有成功。

非常感谢,好人! :)

1 个答案:

答案 0 :(得分:6)

如果没有Leingingen,你的榜样肯定是可行的。它可以在我的计算机上进行一次轻微更改:删除5周围的括号,以便测试行读取

(is (= 5 (abs 5)))

要成功运行脚本,找到Clojure JAR的位置,打开终端并切换到源文件所在的目录,然后执行以下操作:

java -cp /path/to/clojure/clojure-1.4.0.jar clojure.main TheTest.clj

显然将/path/to/clojure/clojure-1.4.0.jar替换为系统上Clojure的实际路径。如果您已经使用了Leiningen,那么您的Maven存储库中就会有一个副本(我已经在~/.m2/repository/org/clojure/clojure/1.4.0/clojure-1.4.0.jar获得了它)

我运行TheTest.clj,输出为:

Testing user

Ran 1 tests containing 1 assertions.
0 failures, 0 errors.