我想写一个函数来提出一些常见的事实,像这样
(defn check-odd-and-positive
[n]
(fact (str n " not odd") n => odd?)
(fact (str n " not positive") n => positive?))
(facts "about the answer"
(check-odd-and-positive 42))
但它不会导致"42不奇数"作为对事实的描述。我知道表格事实也可以达到类似的效果,但我希望能够在事实组之间共享这样的事实。
我发现,这是相当简单的元数据作为midje1.6
(fact {:midje/description (str n "not odd")} n => odd?)
你可以在这里使用宏
(defmacro check-odd-and-positive [n]
`(fact ~(str n " not odd") n => odd?)
`(fact ~(str n " not positive" n => positive?))
但是,midje在报告中包含了测试的值,所以我不清楚为什么这是必要的