我在玩test.check,我正在测试一个函数,它使用一个映射作为参数。这些地图确实有一个定义的结构,例如:
{:name "Bob" :age 42 :email "bob@example.com" :admin true}关键点,有一组预期的键,其中的值有不同的明确定义的生成器。
我看了一下gen/map,但不清楚如何将它用于更结构化的键/值对:
(gen/sample (gen/map gen/keyword gen/boolean) 5)
;; => ({} {:z false} {:k true} {:v8Z false} {:9E false, :3uww false, :2s true})如何使用test.check生成结构化映射(如此处描述的映射)?
发布于 2014-12-04 21:45:37
使用gen/hash-map而不是gen/map。
=> (gen/sample (gen/hash-map :name gen/string
:age gen/int
:email email-gen ; from test.check examples
:admin gen/boolean))
({:email "00w@hotmail.com", :age 0, :name "", :admin true}
{:email "mi6@computer.org", :age -1, :name "Á6", :admin false}
{:email "Ux4gp@hotmail.com", :age 4, :name "z", :admin true})https://stackoverflow.com/questions/27304576
复制相似问题