【发布时间】:2019-09-20 03:36:35
【问题描述】:
我正在用假设做一个小测试,同时考虑以后更广泛地使用它。
我尝试让我的测试获得一个介于 0 和 25 之间的整数的参数。我做了以下操作:
from hypothesis import given
from hypothesis.strategies import integers
@given(x=integers(0, 24))
def test_random(self, x):
print(x)
但是x总是设置为0,所以我尝试了:
@given(x=integers(1, 24))
def test_random(self, x):
print(x)
它总是设置为 1,表明它总是取最小值。 我在做什么错\我在哪里可以将其配置为随机的?
编辑:假设版本:hypothesis==4.18.3
【问题讨论】:
-
你能展示你所有的进口吗?您使用的是什么版本的假设和 python?你怎么称呼测试?
-
已编辑,我直接从 pycharm 运行它
-
当我复制并粘贴您的代码并自己运行它时,我得到了预期的行为。您可以发布更多上下文吗?我看到你使用了
self参数,这让我相信这至少是一个类的方法。 -
很好,问题确实是 self 对象(在一个不相关的函数中对其进行了测试并且它有效)。问题是我有多重继承并且在我的测试类中发生了很多事情。我如何调试并知道是什么原因造成的?有什么我应该看的具体内容(可能会覆盖某些内容)吗?
-
如果没有看到自己的代码,我将无法提出任何建议
标签: python hypothesis-test python-hypothesis