【问题标题】:Organizing test hierarchy in clojure project在 clojure 项目中组织测试层次结构
【发布时间】:2012-06-06 04:12:14
【问题描述】:

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

【问题讨论】:

    标签: testing clojure


    【解决方案1】:

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

    【讨论】:

    • +1 推荐 leiningen。它是 Clojure 的事实上的标准构建/运行/打包工具,它将使您的生活变得简单一百万倍。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-12-16
      • 2021-10-09
      • 1970-01-01
      • 2012-02-11
      • 1970-01-01
      • 2013-07-07
      • 1970-01-01
      相关资源
      最近更新 更多