使用test.check生成结构化地图

 辞骸 发布于 2022-12-07 17:25

我正在玩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生成结构化地图,例如此处描述的结构图?

1 个回答
  • 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})
    

    2022-12-11 02:57 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有