如何在django中避免创建测试数据库?

17

我为我的项目编写了一些测试用例,当我运行这些测试用例时,它会每次创建一个名称为“default”的测试数据库,并在发送消息后销毁该数据库。我只关心消息,因此如何避免创建测试数据库,因为它需要很长时间。

username$ ./manage.py test
...............
Some message, I Want only this message 
...............
Creating test database for alias 'default'...
----------------------------------------------------------------------
Ran 0 tests in 0.000s

OK
Destroying test database for alias 'default'...

https://dev59.com/QW025IYBdhLWcg3wl3Em - xyres
4
在你的测试中尝试使用SimpleTestCase - Rahul Gupta
2个回答

18
python manage.py test -k

在Django 1.8中,您可以使用-k命令。

Django 1.8中新增功能:通过在test命令中添加--keepdb标志,您可以避免测试数据库被销毁。这将在运行之间保留测试数据库。如果数据库不存在,则首先将创建它。任何迁移也将被应用以使其保持最新。

您可以阅读此文档以获取更多详细信息: https://docs.djangoproject.com/en/1.8/topics/testing/overview/#the-test-database


2
我明白了,在这种情况下,我认为这个解决方案也许可以帮助你。 你试过了吗? - Paulo Pessoa

8

好的,这只是一条评论,还不是一个答案 - 所以我将重申Rahul Gupta的评论:

不要从TestCase类继承,而应该从SimpleTestCase类继承,具体请参见Django测试工具文档


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接