【问题标题】:How to debug when hypothesis produces flaky test error?当假设产生片状测试错误时如何调试?
【发布时间】:2019-10-10 09:45:14
【问题描述】:

我正在使用假设 python 包进行状态测试。 运行测试时出现以下错误:

hypothesis.errors.Flaky: Unreliable assumption: An example which satisfied assumptions on the first run now fails it.

我从类似的帖子中了解片状错误的含义。我有一个第一次失败但第二次通过的测试。从日志中我可以理解,是哪个测试导致了这个失败。 Hypothesis 在整个测试运行过程中尝试了 4 次相同的测试序列,其中 2 次通过,2 次失败。

我在没有假设的情况下单独尝试了失败的测试,它没有失败。我试图了解导致片状错误的原因。这可能是假设中的错误,如下面的帖子所示:

What does Flaky: Hypothesis test produces unreliable results mean?

我该如何解决这个问题?请在链接中找到测试运行的日志文件: https://github.com/aparnasbose/hypothesis/blob/master/flaky%20test

【问题讨论】:

    标签: pytest python-hypothesis


    【解决方案1】:

    问题几乎可以肯定是您的测试对所有输入都不是确定性的;假设可以找到一些论点或动作序列,它们有时会通过,有时会失败。 Hypothesis 认为这是您测试中的一个错误,并引发了 Flaky 错误。

    要更详细地诊断这一点,我需要查看您的实际源代码。

    仅供参考 verbose 详细在这里比 debug 有用得多(转储太多内部状态)。您可能还想升级到 Hypothesis >= 4.41.1 以改进统计数据。

    【讨论】:

      猜你喜欢
      • 2018-06-19
      • 1970-01-01
      • 2020-03-03
      • 2020-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多