python-hypothesis

    1热度

    1回答

    我刚将一个pytest测试套件从quickcheck迁移到hypothesis。这工作得很好(并立即发现了一些隐藏的边缘案例错误),但我看到的一个主要区别与两个物业经理之间的测试隔离有关。 quickcheck似乎只是用不同的参数值多次运行测试函数,每次运行我的函数范围的灯具。这也导致pytest的输出中有更多的点。 hypothesis然而,似乎多次运行测试函数的主体,这意味着例如单个运行之间没

    0热度

    1回答

    我希望能够采用正则表达式并使用python假设库生成符合数据。例如给定一个正则表达式 regex = re.compile('[a-zA-Z]') 这将匹配任何英文字母字符。这可能是一个示例生成器。 import hypothesis import string hypothesis.strategies.text(alphabet=string.ascii_letters) 但理想

    3热度

    1回答

    我需要在python中测试一个函数,该函数使用任何类型的数据,从整数到字符串到用户组成的任何对象。假设中是否有一种方法可以用随机对象生成一个列表?我知道我可以生成随机浮动的列表, @given(strategies.lists(strategies.floats())) 等等等等与整数,字符等,但我怎么能做出这么一个随机的列表中有一个以上的数据类型与它?

    1热度

    2回答

    在假设随机抽样,有一个corresponding sampled_from() strategy到random.choice(): In [1]: from hypothesis import find, strategies as st In [2]: find(st.sampled_from(('ST', 'LT', 'TG', 'CT')), lambda x: True) Out[2

    0热度

    1回答

    我试图解决使用假设类似的难题是什么已经在这里完成: http://nchammas.com/writing/how-not-to-die-hard-with-hypothesis 不幸的是它失败间歇性地发生Flaky错误,我无法使用pdb来追踪问题。 我的节目源是: https://gist.github.com/sureshvv/0fb78ef221fb8c1ed85dd034c83abefa

    0热度

    1回答

    我有3个文件module.py,其中包含一个示例函数,用于测试输入是否为数字。我有一个名为test_mymodule_long.py是成功测试和使用py.test和hypothesis通过几种类型的输入文件。我使用的Python 3.6,但这不应该(如果你不是,只是删除类型提示)。对于这个特定的功能,将这些分离出来对我来说没有帮助;如果假设找到了边缘案例,我只想知道有问题的输入和引发的异常。因此,

    0热度

    2回答

    我有一个Django模型。在其他方面它有一个ForeignKey到User: class MyModel(models.Model): foo = models.BooleanField() bar = models.ForeignKey(User) 我在我的测试方法产生了我的适当形状User - generate_test_user() 我想写一些测试与Hypothesi

    1热度

    1回答

    我正在考虑使用hypothesis进行一些测试。我喜欢它可以生成大量的数据来查找边缘情况。但是,我希望能够更多地调整我的一些测试。 例如,我可以定义一个测试来生成integers,但我期望这个测试符合有效的邮政编码是好的。我可以这样做吗?或者,也许更复杂的符合非美国邮政编码,这些都是整数,但其他(比如加拿大)则不是? 相同类型的东西对预期符合某种类型的掩码(即电子邮件地址)的text字段将会有用。

    0热度

    1回答

    我有一个复合,价格昂贵但价格便宜的策略。我必须这样做: @given(expensive_strategy()) def test_all(x): assert... assert... ... 建立示例和运行断言的时间可以忽略不计4秒。 最佳做法决定将这些测试分开。 我不清楚我如何可以结合假设策略和例如。 TestCase.setUp或pytest会话范围的灯

    0热度

    1回答

    我使用python假设像下面 @st.composite def generate_network_fault_only(draw): fault = { "impaired": st.just(True), # need to detect if all faults are None to switch this back. "limit": draw(Ne