Django测试异步数据库写

时间:2012-03-04 23:09:31

标签: python django unit-testing

我有一个要处理的大文件,一个包含数百万行的csv文件。我在Django处理程序中上传文件,但我无法快速处理它,所以我有一个单独的进程处理解析。我创建了一个进度URL,我可以调用它来获取解析的状态。

我尝试使用django.test.client.Client进行测试,但似乎SQLite在django.test.TestCase内部使用时作为内存数据库运行。这意味着我在处理程序进程中初始化的一些数据不可用于工作进程。测试数据将写入内存测试数据库,而工作进程无法访问内存中的测试数据库。

我觉得Django测试套件无法处理这个测试用例。有没有人有关于如何进行测试的建议?我可以让Django将SQLite测试数据库转储到我可以在我的工作进程中读取的文件中吗?我可以直接针对生产数据库进行测试(在我的情况下,除了在测试开始之前从灯具加载的数据之外,它将是空的吗?)

1 个答案:

答案 0 :(得分:1)

如果在TEST_NAME中定义database settings,那么Django将不会在内存中创建SQLite测试数据库。