Python 属性 超时测试

Python property testing with timeout

我有一定的时间来测试一个系统。我可以编写一个 Python 属性 测试来运行 属性 测试直到一小时结束吗?我在 hypothesis 中寻找解决方案,但找不到。

我想象 属性-testing 库有某种测试用例生成器,我可以在其中拉取并执行它直到超时。这将是一个可以接受的惰性解决方案。

Hypothesis 没有可以从中提取的生成器 - 内部结构的实现与 Quickcheck 使用的通常的惰性无限列表构造完全不同(因为... Haskell)。

我们有 an open issue to add a fuzzing mode,这将(希望)成为 2019 年初帝国理工学院本科生小组项目的主题。

在准备就绪之前,您可以将 @settings(timeout=60*60, suppress_health_check=HealthCheck.all(), max_examples=10**9) 添加到测试中,它应该 运行 一个小时(或直到发现错误)。