尽管指定了maxfail=1
,但假设似乎仍在继续生成示例并运行它们,但很快就会失败
有解决办法吗
下面是一个小例子:
from hypothesis.stateful import invariant, rule, RuleBasedStateMachine
class MaxFail(RuleBasedStateMachine):
count = 0
@rule()
def process(self):
self.count += 1
@invariant()
def all_done(self):
print('-- in invariant %d' % self.count)
if self.count > 1:
assert False
MaxFailTest = MaxFail.TestCase
这是因为从Pytest的角度来看,整个有状态测试只是一个测试——它调用^{,如果失败,它将不会运行任何其他测试函数
另一方面,假设不知道those added in its plugin之外的任何Pytest参数或设置。它可以与pytest、unittest或任何其他测试运行程序一起使用,因为它只是封装了您编写的内部测试函数
简而言之:假设不知道
maxfail
参数,Pytest也不知道测试会失败,直到假设用它发现的最小示例引发错误相关问题 更多 >
编程相关推荐