1 个不稳定版本

0.1.0 2021年11月28日

#7 in #upper-bound

Download history 18/week @ 2024-03-14 11/week @ 2024-03-21 34/week @ 2024-03-28 31/week @ 2024-04-04 6/week @ 2024-04-11 14/week @ 2024-04-18 12/week @ 2024-04-25 15/week @ 2024-05-02 16/week @ 2024-05-09 11/week @ 2024-05-16 13/week @ 2024-05-23 14/week @ 2024-05-30 15/week @ 2024-06-06 16/week @ 2024-06-13 11/week @ 2024-06-20 8/week @ 2024-06-27

每月51次下载
用于 arbitrary

MIT/Apache

10KB
156

Exhaustigen

这是一个小巧(但令人愉悦!)的测试实用程序库。

它基于以下博客文章中的想法和代码

https://matklad.github.io//2021/11/07/generate-all-the-things.html

TL;DR:想法是编写一个类似于对 PRNG 编写的测试的测试,即一个要求“生成器”创建标量、布尔值、数据向量、随机洗牌等,但使用具有一些有趣特性的特殊生成器

  • 它有一个“完成”的概念,因此您可以将其放入 do-while 循环中
  • 每次调用它都需要一个包含上限,这个上限应该很小
  • 跟踪其通过上限序列的进度
  • 在请求更多数据时懒扩展 上限序列

通过将此类生成器通过此类命令式测试,并将测试的主体放在 do-while 循环中,您可以编写结构复杂的代码,并具有复杂的值相关嵌套结构 -- 例如,生成值 K 在 0..N 中,然后生成值 J 在 0..K 中,依此类推 -- 并且它将自动记录和枚举对代码有意义的序列空间,重新运行直到耗尽所有可能的路径/值。

许可证

MIT + ASL2.0,经 Aleksey 授权

无运行时依赖