在Clojure中定义仅用于测试的函数

时间:2014-10-22 09:29:42

标签: testing clojure integration-testing

我正在Clojure中编写一些测试,我想知道在其他命名空间中是否可以从其他def中看到defn deftest内的deftest / (deftest tests (defn- mock-element [is-valid] (reify... 。我也倾向于认为这是不好的做法,并且有一种更惯用的方式来共享测试功能(例如创建模拟)。有吗?

目前,定义:

{{1}}

不会在命名空间之外暴露mock元素,或者我做错了什么。 有没有办法实现这个目标?

1 个答案:

答案 0 :(得分:1)

def始终是全球性的:如果您想要本地的内容,请使用letletfn

(deftest tests
  (letfn [(mock-element [is-valid]
            (reify...)]
    ...))