环境
烧瓶0.10.1
SqlAlchemy 1.0.10版
Python 3.4.3
使用unittest
我已经创建了两个独立的测试,它们的目标是通过700k条记录查看数据库并进行一些字符串查找。当一次执行一个测试时,它可以正常工作,但是当整个脚本执行时:python name_of_script.py
它在随机的地方以“杀死”的方式退出。在
两个测试的主要代码如下:
^{pr2}$
另一个测试调用位于manager.py文件中的函数,该函数执行类似的操作,但在数据库中添加了一个大容量删除。在def test_remove_redundant_mappings(self):
import os
os.system( "python ../../manager.py remove_redundant_mappings" )
self.assertEqual(self.get_redundant_categories(), 0, "There are redundant categories left after running manager.py remove_redundant_mappings()")
在两次测试之间,数据是否可以保存在内存中?我不太明白单独执行测试是如何工作的,但是当背靠背运行时,进程以Killed结束。在
有什么想法吗?在
编辑(我尝试无效的事情):从manager.py导入函数并调用它而不使用os.system(..)
import gc并在get_redundant_categories()和调用remove_redundant_mappings()之后运行gc.collect()