我最近开始使用Clojure测试框架的期望。作为测试的一部分,我有一个数据集,我希望在新的测试/期望声明开始之前将其重置为原始值。
在clojure.test中,我只想创建一个fixture并调用(use-fixture:每个my-fixture-fn)。
我已经在期望中搜索了如何做到这一点的好例子,但还没有运气。任何人都可以提供一个具体的例子来说明如何实现在每次测试之前运行的夹具吗?
答案 0 :(得分:1)
可以使用带有expect的let语句。也许这样的事情会为你完成工作(未经测试的伪代码):
(expect
(let [dataset {val: "original values"}]
(function-to-be-tested val:))
expected-return-value)
这个真实的代码开箱即用,以显示原则:
(expect (let [ar [1 2 3]]
(first ar)) 2)
它按预期返回以下错误消息:
failure in (core_test.clj:9) : image-lib.core-test
(expect (let [ar [1 2 3]] (first ar)) 2)
expected: 1
was: 2
Ran 2 tests containing 2 assertions in 17 msecs
1 failures, 0 errors.
Tests completed at 10:59:45.435