haskell - 非空 UUID 的任意实例
问题描述
我无法Arbitrary
为某些具有 UUID 字段的记录类型创建实例。智能构造函数确保 UUID 不能为空。是否有一种惯用的方法来修改 UUIDArbitrary
实例Test.QuickCheck.Instances.UUID
,使其不生成空值 - 也就是说,生成器不应该生成00000000-0000-0000-0000-000000000000
?
解决方案
您需要的关键部分是suchThat
. 当您的实例调用arbitrary
以获取 UUID 时,请arbitrary `suchThat` (not . Data.UUID.Types.null)
改为调用。此外,如果您的类型定义了shrink
,则在缩小 UUID 时,请filter (not . Data.UUID.Types.null)
在缩小列表中执行。
推荐阅读
- codeception - Codeception,如何从命令行覆盖特定(或非特定)套件测试的 url?
- php - mysql中列出文件和文件夹的隐私设置
- rest - Rest API/Soap UI 工具 - 如何在到达终点时手动传递 Cookie
- r - 如何通过 Spark 连接将数据从集群导入 R 环境?
- php - php聊天重复用户防止
- javascript - Vue.js、Axios 对 Laravel API 的多次获取 CORS 请求随机失败
- android - 如何使 CardView 和 CardView 中的 RecyclerView 在项目较少时具有它的大小
- javascript - 用于解析 html 的正则表达式(包括损坏的标签)
- javascript - 车把,访问父每个循环变量
- javascript - 回声 JavaScript