我正在开发一个库,我正在使用hypothesis来测试它. 我通常勾勒出一个函数的(有错误的)实现,实现测试,然后通过修复错误和运行测试进行迭代. 通常这些错误非常简单(例如,打字错误),我不需要简化的测试用例来找出问题.例如:

def foo(value):
    return vslue + 1 # a silly typo

@given(st.integers())
def test_foo(x):
    assert foo(x) == x + 1

如何使假设在找到单个反例后立即停止生成测试用例? 理想情况下,这将使用命令行标志为pytest.

推荐答案

基于我之前的 comments --你看过这个了吗?

https://hypothesis.readthedocs.io/en/latest/settings.html#hypothesis.settings.phases

看起来有一些支持有不同的"设置配置文件".我敢打赌,你可以有一个,你消除了收缩阶段.也许这就是解决问题的办法.

嗯!可能就是这样:),这将为您提供以下命令行选项:

pytest tests --hypothesis-profile <profile-name>

因此,in summary:

在你的conftest.py人中:

from hypothesis import settings, Phase
settings.register_profile("failfast", phases=[Phase.generate])

然后用:pytest tests --hypothesis-profile failfast运行它

Python相关问答推荐

基于符号和位置 Select 数据帧特定区域的毕达式方法

在Polars中, Select 所有以Pattern结尾的列,并添加不带Pattern的新列

Python开发依赖项

在Pandas 数据框中,可以有一些多索引列和一些单索引列吗?

如何让QML菜单考虑布局镜像?

基于反向特征 Select 的SCRICKIT-LINE和PCA特征 Select

Python修饰器类型提示

极点组依据,在计算平均值时忽略NAN

正则表达式字符串分析:模式以;开头,但可以以[;,)%&;@结束

如何创建Pandas 数据帧而不对长值进行舍入

如何使用3个列表创建一个词典

Azure中的路由Python中的函数不起作用

如何让pythonlxml找到这个元素?

多维多维数组中方阵的厄米特矩阵

作为时间函数的绘图数组

Pandas 从包含对象列表的列创建单个列表

除非先运行测试查询,否则云函数不能同时多次调用PostgreSQL

如何确定torchasumy.sum(Model=mod.policy,int_size=(int,int,int))的参数?

对文件使用Ayncio真的是个好主意吗

SCRIT•;S RFECV班级如何计算cv_成绩_?