gpt4 book ai didi

testing - 在 Clojure 中运行单元测试的 'right' 方式

转载 作者:行者123 更新时间:2023-11-28 19:40:32 27 4
gpt4 key购买 nike

目前,我在编码 session 开始时在 REPL 中定义了以下函数:

(defn rt []
(let [tns 'my.namespace-test]
(use tns :reload-all)
(cojure.test/test-ns tns)))

每次我进行更改时,我都会重新运行测试:

user=>(rt)

这对我来说效果还不错。当我删除测试时,我必须重新启动 REPL 并重新定义有点烦人的方法。此外,我还听到过关于像这样使用 use 函数的传闻。所以我的问题是:

  • 以这种方式使用 use 会给我带来问题吗?
  • 是否有比我目前正在做的更符合惯用的工作流程?

最佳答案

大多数人运行

lein test

形成一个不同的终端。这保证文件中的内容是经过测试的内容,而不是您内存中的内容。如果您更改了函数名称并仍在某处调用旧名称,则使用 reload-all 可能会导致错误通过。

  • 像这样调用 use 本身并不是问题,如果您在测试中使用更多命名空间,它只会限制您不会有任何名称冲突。只要你有一个,就可以了。
  • 使用 lein 可以指定单位和 integration tests并使用测试选择器功能轻松地将它们分组运行。

关于testing - 在 Clojure 中运行单元测试的 'right' 方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17891868/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com