0

我正在编写一个自定义搜索策略builds()(这对这个问题无关紧要),它将使用假设.strategies.integers(min_value=None, max_value=None)来生成具有显式步长的整数数据,而不是比方说 delta 10. 我不需要像[10, 20, 30, 40, etc.]. 相反,我需要使用步长为 的整数值调用测试函数的后续调用10,例如10第一次调用、20第二次调用等。我怎样才能最简单地实现这一点?

4

1 回答 1

1

您可以轻松调整现有策略,例如通过以下方式生成偶数:

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

只是检查一下-您使用的是最新版本的假设吗?您链接到 v1.8 的文档,该文档不受支持,并且比当前版本 3.48 的功能要弱得多。

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


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

假设仅支持通过模块进行hypothesis.stateful状态测试。

根据设计,提供的每个示例@given都独立于任何其他示例 - 如果这不适用于您的用例假设可能是该工作的错误工具。

于 2018-03-06T07:53:18.243 回答