unit-testing - 如何针对参数序列测试谓词?

标签 unit-testing testing clojure

我已经生成了一系列 arg 列表,例如:

[[a b c] [d e f] [g h i]]

... 这样 (map (partial apply f) that-seq) 应该产生相同结果的列表。我想检查所有这些是否确实产生相同的结果。通常,你会使用 are 宏来做这样的事情,但我没有一大堆要测试的表达式:我有一个 seq.所以,我想我想要(申请是......)的“等价物”。据我所知,我的选择是:

  • 写一个宏
  • 使用每个?是吗?,放弃有用的错误消息。

有没有更好的方法来做到这一点?

最佳答案

使用它来获得更准确的报告

(testing "blake2b defaults are accurate"
  (doseq [args-variation blake2b-empty-args-variations]
    (is (= (seq empty-string-digest)
           (seq (blake2b args-variation)))
        (str "Args variation: " (seq args-variation)))))

关于unit-testing - 如何针对参数序列测试谓词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25784811/

相关文章:

database - H2 数据库可以有多大?

unit-testing - Mocking 的目的

unit-testing - 使用 Erlang 进行单元测试时如何自动重新加载模块?

python - 在 pytest 中,如何访问传递给测试的参数?

typescript - Jest/ Jasmine : Weird Execution Order Of beforeEach()

clojure - 如何在用户定义的命名空间中启动 REPL?

javascript - 测试传单插件中用于绘制叠加的私有(private)函数(karma/jasmine)

c++ - 如何伪造包含非虚函数的 C++ 类?

ios - UI 自动化仪器 : How to reset the app state?

clojure - Clojure、Scheme/Racket 和 Common Lisp 之间有什么区别?