1

このように、いくつかの一般的な事実を因数分解する関数を書きたい

(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 奇数ではない」という結果にはなりません。同様の効果が表形式の事実で達成できることは知っていますが、そのような事実を事実グループ間で共有できるようにしたいと考えています。

4

2 に答える 2

1

midje 1.6以降のメタデータを使用すると、非常に簡単であることがわかりました

(fact {:midje/description (str n "not odd")} n => odd?)
于 2013-12-29T09:24:05.257 に答える
0

ここでマクロを使用できます

(defmacro check-odd-and-positive [n]
  `(fact ~(str n " not odd") n => odd?)
  `(fact ~(str n " not positive" n => positive?))

しかし、midje はテストされた値をレポートに含めているため、なぜこれが必要なのかがまったくわかりません。

于 2013-05-22T13:37:28.923 に答える