如果单独运行,我们有测试通过。但是如果我们运行所有测试,py.test
会因为没有内存而失败。
我的问题:如何在每次测试之前和之后显示py.test进程的内存使用情况?
这样我们就能找到有内存泄漏的测试。
也欢迎其他解决方案。
我们在linux上运行Python 2.7。
解决了内存问题的根源:Django更改了Queryset迭代以加载所有实例。就我而言,数百万:-)见:https://docs.djangoproject.com/en/1.6/releases/1.6/#queryset-iteration
但我仍然对一般性问题感兴趣。
答案 0 :(得分:2)
pytest-xdist
插件为您提供--boxed
选项,其中每个测试都在自己的子流程中运行。
您可以解决测试问题,也可以跟踪资源使用情况(不确定atm)。
最后,它很可能是你的测试的交互,而不是单独的一个测试,它会堆积内存。您可以使用-k
选择器或pytest-random
插件的标记--random
来验证我的推测。