使用假设从json模式生成测试数据

hypothesis-jsonschema的Python项目详细描述


假设jsonschema

a假设生成数据的策略 与一些json模式匹配。

这是PYPI页面。

API

公共api只包含一个函数:hypothesis\u jsonschema.from\u schema, 它接受一个json模式并为允许的json对象返回一个策略。

还不支持使用"definitions"和"$ref"的模式重用,但是 草案04、05和07中的其他部分都经过了充分的测试和工作。

有关如何在测试中使用此策略的详细信息, 参见假设文档

支持的版本

假设jsonschema不支持python 2,因为 它接近生命的尽头而python 3.6+是 更好的语言。如果您想更改此项,请与我联系 愿意为python 2付费或提供支持。

一般来说,0.x版本需要所有依赖项的最新版本 因为我不想处理兼容性解决方案。

假设jsonschema可能随时进行向后不兼容的更改 在版本1.x之前-这就是Semver的意思!-但我保持了API的表面 小到可以避免的程度。休息的主要来源是 如果或者当从未真正起作用的模式变成显式错误时 生成不完全匹配的值。

假设和假设的专业支持 是否可以作为tidelift订阅。 Tidelift为软件开发团队提供了一个单一的采购来源, 维护他们的软件,由专家提供专业级别的保证 谁最清楚呢。

更改日志:

0.9.8-2019-08-24

  • 已更正对具有未知值的"format"关键字的处理-自定义值 规范允许,应视为注释(即忽略)。

0.9.7-2019-08-15

  • 改进了规范化,特别是对于深度嵌套的模式。

0.9.6-2019-08-02

  • 空和布尔模式的性能优化, 它依赖于jsonschema>;=3.0.2

0.9.5-2019-08-02

  • 改进了对数组的包含关键字的处理

0.9.4-2019-07-01

  • 改进了各种模式的规范化和合并, 像往常一样,它开启了显著的优化和性能 适用情况下的改进。

0.9.3-2019-06-13

  • 类型键的未来验证规范化。

0.9.2-2019-05-23

  • 更好的内部规范化,使当前和未来 优化更广泛地适用。
  • 又一个修正,这次是对负零和浮点数的修正 具有次整数精度。即使有假设,ieee 754也很棘手!
  • 修复了对enum的处理,其中的元素不被基本架构允许, 用基本模式处理if-then-else和regex 在python中无效的模式。

0.9.1-2019-05-22

  • multipleof和排他界限修正数值模式。

0.9.0-2019-05-21

  • 支持合并重叠模式属性, 在大多数情况下,性能都有显著提高。
  • 如果"type"键丢失,则现在是从其他键推断 而不是总是默认为"object"
  • 修正了复杂数值边界的处理。

0.8.2-2019-05-21

  • 提高对象模式的性能,其中最小和最大大小可以是 进一步受限于属性属性名称属性。

0.8.1-2019-03-24

  • 支持带有最新版本的jsonschema的draft-04模式

0.8.0-2019-03-23

  • 进一步改进了对具有基本模式的allofoneofanyof的支持
  • 增加了对依赖项的支持
  • 处理重叠的模式属性

0.7.0-2019-03-21

  • 现在需要jsonschema>;=3.0
  • 改进了对allofone ofpropertynames
  • 的支持
  • 支持"type":[类型数组]
  • 模式
  • 假设4.11无警告

0.6.1-2019-02-23

  • 修复连续交付配置(在出现潜在错误之前)

0.6.0-2019-02-23

  • 支持条件子模式,即ifthenelse关键字, 以及anyofallofoneofnot关键字。

0.5.0-2019-02-22

  • 使用jsonschema3.0预发行版
  • Draft06和Draft07的初始支持

0.4.2-2019-02-14

  • 放弃了对canonicaljson的依赖
  • python 3.7上的警告较少

0.4.1-2019-02-06

  • 在更宽松的Mozilla公共许可下重新授权,如假设
  • 需要假设版本4.0或更高版本
  • 修正了一个数组边界错误,其中maxitems包含关键字

0.4.0-2018年11月25日

支持字符串格式(电子邮件、日期时间等)和 "包含"数组关键字。

0.3.0-2018年11月25日

所有基本类型的良好支持。MVP.

0.2.0-2018年11月24日

对空、布尔、字符串和数字类型的推断。

0.1.0-2018年11月21日

在地上建立桩(生成任意json并过滤它!)

安全联系人信息

若要报告安全漏洞,请使用 Tidelift安全联系人。 Tidelift将协调修复和披露。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java泛型重写抽象方法并具有子类的返回类型   Java中的字符串反转字符,同时保留一些字符   java将系统时间与我获取它的时间进行比较   java解析ODATA URL以在准备entityset之前读取ID值   java中的有界通配符下界泛型即使在传递超类时也不会编译   c#Java的JVM和Java的内部工作方式有什么不同。NET的CLR?   java如何在windows7上指定JDK的版本?   Java:列出单个目录中的所有文件(1020000+)   java使用Logback和Lombok   安卓谷歌玩java。lang.NullPointerException   使用RSA的解密结果在普通Java和Android中有所不同   具有默认连接池的java Spring引导   java我如何在一个坏的测试环境中前进?