假设整数状态,在测试运行之间定义了步长?

时间:2018-03-05 15:08:45

标签: python-hypothesis

我正在编写一个自定义搜索策略builds()(这与此问题无关),它将使用hypothesis.strategies.integers(min_value=None, max_value=None)生成具有明确步长的整数数据,而不是# 39; s表示delta 10。我不需要像[10, 20, 30, 40, etc.]这样的值列表。相反,我需要使用步长为10的整数值调用测试函数的后续调用,例如第一次通话时为10,第二次通话时为20,等等。我怎样才能实现最简单的通话?

1 个答案:

答案 0 :(得分:1)

您可以轻松adapt existing strategies,例如通过以下方式生成偶数:

integers().map(lambda x: x * 2)

只是为了检查 - 您使用的是最新版本的假设吗?您链接到v1.8的文档,该文档不受支持且功能明显低于当前版本3.48。

最后,如果你需要在你正在构建的任何部分之间建立特定关系,请考虑composite strategy - builds()更简单但不支持参数之间的依赖关系。

  

我需要使用步长为10的整数值来调用测试函数的后续调用,例如,第一次通话时为10,第二次通话时为20,等等。

假设仅通过the hypothesis.stateful module支持状态测试。

按照设计,@given提供的每个示例都是独立的 - 如果这对您的用例不起作用假设可能是错误的工具。