pytest:如果发生崩溃/段错误/等。测试期间发生,有没有办法让 pytest 将崩溃记录为测试失败并继续测试?

non*_*bot 3 python testing unit-testing pytest python-unittest

我有一些使用 pytest 编写的单元测试,它们成功地导致了段错误的发生。然而,如果在执行期间发生段错误(在我的 Mac 上),pytest 似乎会完全退出,并且不提供有关导致 python 解释器崩溃的原因的信息。

现在我可以从日志中推断出崩溃的特定测试并确定其中使用的值,但我想知道是否有任何方法能够以某种方式将崩溃记录为常规测试失败并继续迭代我的测试而不停止?

如果有帮助,我可以尝试举一个例子,但我认为这个问题应该是不言自明的。

flu*_*lub 5

使用 pytest-xdist 插件,它会在节点崩溃时自动重新启动节点,因此安装该插件并运行测试-n1应该会使 py.test 在崩溃测试中幸存下来。