- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我刚刚将一个 pytest 测试套件从 quickcheck
迁移到 hypothesis
。这工作得很好(并立即发现了一些隐藏的边缘案例错误),但我看到的一个主要区别与两个属性管理器之间的测试隔离有关。
quickcheck
似乎只是使用不同的参数值多次运行测试函数,每次运行我的函数范围的固定装置。这也会在 pytest 的输出中产生更多的点。
hypothesis
然而,似乎多次只运行测试函数的主体,这意味着例如在各个运行之间没有事务回滚。这意味着当我的测试将某些内容插入数据库时,我无法可靠地断言许多数据库条目,因为上一次运行的所有条目仍将存在。
我是否遗漏了一些明显的东西,或者这是预期的行为?如果是这样,是否有办法将运行次数假设作为变量在测试中使用?
最佳答案
恐怕你有点卡住了,目前还没有解决这个问题的好方法。
假设需要工作的方式(这是它对 pytest-quickcheck 的许多改进的来源)不符合 pytest 关于测试执行的假设。问题是 mostly on the pytest side - 当前的 pytest fixture 系统有一些关于如何运行测试的假设,这些假设不能很好地控制测试执行,上次我试图解决这个问题时,我花了大约一周的时间在放弃之前进入它,基本上说要么需要在 pytest 方面进行更改,要么 someone needs to fund this work如果它会变得更好。
关于python - pytest-hypothesis 运行之间的测试隔离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45956693/
我希望能够采用正则表达式并使用 python 假设库生成符合要求的数据。例如给定一个正则表达式 regex = re.compile('[a-zA-Z]') 这将匹配任何英文字母字符。一个示例生成器可
我有以下使用基因组数据创建数据框的策略: from hypothesis.extra.pandas import columns, data_frames, column import hypothe
我有一个复合的、构建起来昂贵但测试起来便宜的策略。我必须这样做: @given(expensive_strategy()) def test_all(x): assert... ass
我想创建 End 大于 Start 的数据框。 我用的是: from hypothesis.extra.pandas import columns, data_frames, column impor
我刚刚将一个 pytest 测试套件从 quickcheck 迁移到 hypothesis。这工作得很好(并立即发现了一些隐藏的边缘案例错误),但我看到的一个主要区别与两个属性管理器之间的测试隔离有关
高质量的代码离不开单元测试,而设计单元测试的用例往往又比较耗时,而且难以想到一些极端情况,本文讲述如何使用 Hypothesis 来自动化单元测试 刷过力扣算法题的同学都知道,有时候觉得代码已经很
我用 conda install hypothesis 在 Anaconda 上安装了假设.我在 Spyder 上使用 Python 3.7。 在名为 testing.py 的文件中我写 from h
我正在尝试使用假设来生成一组数据帧,并将其合并在一起。我希望允许每个单独的列具有 NaN 值,并且我希望允许 Hypothesis 生成一些古怪的示例。 但我最想关注的是每个数据帧中至少有一行具有实际
我正在尝试使用假设来生成一组数据帧,并将其合并在一起。我希望允许每个单独的列具有 NaN 值,并且我希望允许 Hypothesis 生成一些古怪的示例。 但我最想关注的是每个数据帧中至少有一行具有实际
我有多年的编程经验,但我对 C++ 还很陌生。我不完全明白下面一行会做什么: this -> obj = MyObject(param) 首先,我有以下假设会发生什么: 调用 MyObject(par
可以指示基于属性的框架 QuickCheck 通过使用收集和测量效用函数来测量生成特定测试用例的频率(例如:同一个人平均下订单的频率,下空订单的频率)。是否有可能像在 Quickcheck 中那样调整
我想生成具有以下条件的大小为 2 的整数列表的列表。 第一个元素应小于第二个元素 所有数据都应该是唯一的。 我可以使用自定义函数生成每个元组,但不知道如何使用它来满足第二个条件。 from hypot
我想写一个hypothesis.stateful.RuleBasedStateMachine它断言在某些情况下会引发异常。 pytest提供 raises用于编写异常测试的上下文管理器。如果我使用 p
为了测试当我添加两个非常相似的数据行时我的数据库的行为,我需要为每个参数组合设置一个新数据库。我还使用 Hypothesis 的策略来生成“相似”的数据行。 测试工作流程应如下所示: for exam
考虑以下示例: df = pd.read_csv('myFile.txt',delim_whitespace=True,header=None) df.columns=['vary','vax1','
我有一个分位数回归模型,其中包含 1 个回归变量和 1 个回归变量。我想假设检验回归量在每个分位数上都相等。我想到的一种方法是在 {0.01,0.02,....,0.99} 上测试所有 tau。但是,
我正在使用假设 python 包进行测试。 我收到以下错误: Flaky: Hypothesis test_visiting produces unreliable results: Falsifie
当使用假设库并执行状态测试时,如何查看或输出库正在尝试我的代码的 Bundle“服务”? 例子 import hypothesis.strategies as st from hypothesis.s
我是一名优秀的程序员,十分优秀!