【问题标题】:Unit test for this function in ClojureClojure 中此函数的单元测试
【发布时间】:2018-02-03 03:02:55
【问题描述】:

在 CLojure 中有一个从 Firestore 获取数据的功能,我不知道要为它编写单元测试。 你能帮忙吗?

(defn get-user-collection-ref
  [db user-id]
  (-> db
      (.collection "credits")
      (.document user-id)
      (.collection "transactions")))

【问题讨论】:

  • 您首先要测试什么?你的真实数据库返回集合参考?那么您需要集成测试,而不是单元测试(这意味着您需要出于测试原因部署一些数据库)。或者您只需要检查在调用此函数时您的 db 对象是否获得了使用预期参数调用的所需方法?那么你需要查找文件存储的文档以获得一些数据库模拟功能,我猜。
  • 正如 leetwinski 指出的那样,集成测试可能更适合这里。纯粹的单元测试不会让你走得太远。仅仅为了单元测试而实现模拟实现对我来说没有多大意义。

标签: clojure


【解决方案1】:

您可以使用reifyproxy 创建类和接口的匿名实例。请参阅this question 以供使用。恐怕我对 Firestore 了解不多,但如果您想要实现这一目标,您应该能够相当轻松地编写模拟实现。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-18
    • 2016-09-25
    • 2013-08-22
    • 2014-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多