Testing 有没有办法在clojure中模拟函数?

Testing 有没有办法在clojure中模拟函数?,testing,clojure,Testing,Clojure,有没有办法在clojure中模拟函数。例如,我有一个函数:defn a[x]utils/count x我需要编写一个测试,但我不知道如何模拟utils/count。如果我在同一个函数中有多个函数,并且我需要测试它呢?定义一个[x]utils/count x utils/count2 x test/other x您可以与redefs一起使用,例如 您可以与redefs一起使用,例如 如果可能的话,还可以查看哪个建议组织代码,这样就不需要模拟。如果可能的话,还可以查看哪个建议组织代码,这样就不需要模

有没有办法在clojure中模拟函数。例如,我有一个函数:defn a[x]utils/count x我需要编写一个测试,但我不知道如何模拟utils/count。如果我在同一个函数中有多个函数,并且我需要测试它呢?定义一个[x]utils/count x utils/count2 x test/other x

您可以与redefs一起使用,例如

您可以与redefs一起使用,例如


如果可能的话,还可以查看哪个建议组织代码,这样就不需要模拟。

如果可能的话,还可以查看哪个建议组织代码,这样就不需要模拟。

那个网站很奇怪。谁决定Cognitect应该拥有一个堆栈溢出的重新皮肤,并在其中植入Jira票据,就好像它们是问题一样?@amalloy read解释了它是什么以及它存在的原因;还可以看到一些问题,其中谈到了背后的技术,开源问题2回答应用程序,该网站很奇怪。谁决定Cognitect应该拥有一个堆栈溢出的重新皮肤,并在其中植入Jira票据,就好像它们是问题一样?@amalloy read解释了它是什么以及它存在的原因;还可以看到一些关于其背后技术的问题—开源Question2Answer应用程序
(deftest t
  (with-redefs [utils/count (fn [x] 2)
                utils/count2 (fn [x] 3)
                test/other (fn [x y] :result)]
    (let [result (a 2)])))