导入文件以测试Clojure中的功能

时间:2019-09-19 05:42:01

标签: unit-testing clojure

我有一个主src文件夹,其中有另一个文件夹,例如xyz,其中有一个main.clj文件,我还有另一个文件夹测试,其中包含xyz文件夹和main_test.clj文件,但是当我运行时:lein test它说:

测试用户 运行0个测试,其中包含0个断言。 0次失败,0次错误。

我需要测试main.clj的功能,我是新手,请耐心等待。

    --- project1
       |____src
       |     |_____main.clj
       |_____test
       |     |_____main_test.clj 
       |_____project.clj

我尝试了require和load的不同方法。我必须编写单元测试。

3 个答案:

答案 0 :(得分:4)

如果您的源文件是src/xyz/main.clj,并且其ns格式称为xyz.main,那么请确保您拥有test/xyz/main_test.clj并且它的ns格式称为{ {1}}-注意文件名中与xyz.main-test对应的连字符。

如果该中间文件夹为_,则相应的命名空间段将为x_y_z

答案 1 :(得分:1)

您需要将测试目录添加到类路径以运行测试。这是莱宁根在project.clj中完成的:

(defproject project1
  …
  :test-paths ["test"]
  …)

答案 2 :(得分:1)

塞恩有一些优点。如果那不起作用,请尝试以下操作以获取运行的基准设置:

~/expr > lein new app sample
~/expr > cd sample
~/expr/sample > lein test

lein test sample.core-test

lein test :only sample.core-test/a-test

FAIL in (a-test) (core_test.clj:7)
FIXME, I fail.
expected: (= 0 1)
  actual: (not (= 0 1))

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