この質問とそこで参照されているブログ投稿prop/for-all
に続いて、この種の機能を直接導入しない理由はありますか? 例:
(require '[clojure.test.check.generators :as gen])
(require '[clojure.test.check.properties :as prop])
(require '[clojure.test.check.clojure-test :refer :all])
(defspec some-props-test
(prop/for-all [n (gen/choose 1 10)
v (gen/vector gen/int n) ;; treat n like its produced value
e (gen/element v)]
... do stuff with n, v & e ...
))
基本的に、あるジェネレーターによって生成された値を別のジェネレーターで再利用し、実際のテスト コード内で生成された両方の値を参照したいと考えています。for-all
これは本質的に、以下の式ブロック内で機能するため、マクロによって提供される let のようなブロック内で生成された値への参照を許可するように砂糖/魔法を拡張します。
これを可能にする何かが他にない場合、または何らかの理由で実装する意味がない場合はお知らせください。