【问题标题】:Example test cases for hypothesis based strategies?基于假设的策略的示例测试用例?
【发布时间】:2018-04-06 09:03:07
【问题描述】:

目前测试基于hypothesis 的策略的最佳实践是什么?有例如测试好的例子如何缩小HypothesisWorks/hypothesis-python/tests/quality/test_shrink_quality.py。但是,到目前为止,我找不到测试策略数据生成功能的示例(一般来说,性能等)。

【问题讨论】:

    标签: python-hypothesis


    【解决方案1】:

    Hypothesis 对您使用的每个策略运行一系列 health checks,包括生成数据所花费的时间和成功生成尝试的比例 - 尝试例如none().map(lambda x: time.sleep(2)).example()integers().map(lambda x: x % 17 == 0).example() 看看他们的行动!

    在大多数情况下,除了使用这些健康检查之外,您不需要测试自己的策略。相反,我会使用 a code coverage library 检查您的 测试 是否足够。

    【讨论】:

    • 对,HealthChecks 很有帮助。有没有办法汇总几个后续假设运行的覆盖范围? (如果在单次运行期间未实现可实现的完全覆盖。)
    • 感谢一个非常酷的内部功能,您不需要这样做!当您运行假设测试时,它会在分支覆盖范围内运行,并且会偏向示例生成以覆盖尽可能多的分支。一组不同的基本输入也保存在数据库中,所以这根本不应该倒退太多。如果您以某种方式仍然发现了路径,我建议添加明确的@example 或更多测试,而不是聚合多个运行。
    • 哇,这个功能真的很强大!!!在我当前的用例中,我使用 Hypothesis 不是用于 Python 代码测试,而是用于远程系统测试。这意味着在这种情况下它对我没有帮助......
    猜你喜欢
    • 1970-01-01
    • 2017-04-24
    • 2020-02-15
    • 2013-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多