抑制复合假设策略的 HealthCheck.too_slow

Are*_* Fu 6 python python-hypothesis

我有许多单元测试利用了@composite我编写的策略。该策略非常慢(它生成复杂的对象),并且有时其中一个测试无法通过too_slow运行状况检查。当这种情况发生时,我深深地叹了一口气,然后补充道

@settings(suppress_health_check=(HealthCheck.too_slow,))
Run Code Online (Sandbox Code Playgroud)

进行测试。

有没有办法HealthCheck.too_slow一劳永逸地抑制所有使用慢速策略的测试?

Zac*_*dds 3

您可以使用设置配置文件更改全局默认设置,但无法将某些设置应用于 Hypothesis 内置的测试子集。

如果你知道你有一个缓慢的策略,我会尝试使该策略更快 - 通常有一些可用的严重优化 - 如果我不能,我只会禁用特定的运行状况检查。只需偶尔重新启用它即可检查是否有意外缓慢的测试!