我们有一堆调用 Python C/C++ 绑定的测试。我们用鼻子运行这些测试:
nosetests myapp
.....
----------------------------------------------------------------------
Ran 5 tests in 0.009s
有时,我们的绑定发生了错误,导致 Python 解释器崩溃,例如,在测试号 3 上:
test03_badcode (myapp.tests.test_badcode) ... Segmentation fault
问题:从这种情况中恢复的最佳方法是什么?理想情况下,我宁愿鼻子自己处理这些崩溃,但我知道这是不可能实现的。我想到的下一个解决方案是记下测试并重新启动鼻子,现在跳过糟糕的测试。在我的示例中,这意味着执行测试 1、2、4 和 5,但不执行测试 3。有没有办法用鼻子以编程方式实现这一点?还有其他更好的想法吗?