testing - 在 Clojure 中为测试定义函数

标签 testing clojure integration-testing

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

目前,定义:

(deftest tests

  (defn- mock-element
  [is-valid]
    (reify...

不在命名空间外公开模拟元素,或者我做错了什么。 有没有办法做到这一点?

最佳答案

def 始终是全局的:如果您想要局部的东西,请使用 letletfn:

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

关于testing - 在 Clojure 中为测试定义函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26504370/

相关文章:

clojure - 在 Clojure sql 中,如何使 where 子句不区分大小写?

maven - leiningen project.clj 中的 pom.xml maven 属性

unit-testing - 单元或集成测试资源文件目录布局

c# - 如何模拟 Entity Framework 并在模拟上下文中获取新的插入值

python - 如何编写注册账户测试用例?

amazon-web-services - TestCafe 与 SAM Local 一起工作,但在 SAM Deploy 之后不工作

unit-testing - EasyMock 条件和逻辑

clojure - 如何将字符串放入列表

java - 如何避免在 Spring Boot 集成测试中使用拦截器

testing - 如何发送wei/eth到合约地址? (使用松露javascript测试)