-2

我用假设做一个小测试,同时考虑以后更广泛地使用它。

我尝试让我的测试获得一个介于 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

4

1 回答 1

0

这似乎是假设的继承问题。我尝试将测试函数放在我继承的每个类中,当我到达 base (直接从 unittest.TestCase 继承)时,它起作用了。启动一个从 base 继承且仅具有该测试功能的新测试类,导致了同样的问题。感觉像个bug

假设维护者在这里 - 请使用 的定义打开一个问题base,以便我们对其进行调试。它肯定可以工作,我只是在一个孙子类上尝试过这个,unittest.TestCase没有发现任何问题。

不幸的是,在您分享复制示例之前,我们无法为您提供帮助。

于 2019-05-08T14:12:50.423 回答