在Python中寻找片状测试的根本原因
有一个不稳定的测试,我们不知道根本原因可能是什么。
with pytest.raises(foo.geocoder.GeocodingFailed):
foo.geocoder.geocode('not a valid place')
有时异常不会发生。
我查看了如何处理失败的文档,但这并没有帮助。
如何跟踪geocode()以便如果异常没有发生,我会看到跟踪?
我查看trace了标准库的模块。但是似乎没有简单的方法可以将跟踪作为字符串获取。
“跟踪”我的意思是:在gecode(). 我想查看带有缩进的方法调用和返回语句。我想忽略 Python 标准库中的行。
AFAIK 像 pdb 这样的调试器在这里没有帮助,因为测试仅在 CI 中运行时才会失败,并且每个月只有一次或两次。