2010-10-07 80 views
0

我正在写一个测试应用程序,我正在使用测试我的代码库的其余部分。我希望能够为它做的是,当我测试使用这个manage.py命令,自动更改为登录到不同的数据库。有没有一个很好的方法来做到这一点?更改在Django的活动数据库

回答

1

Django的自动创建和删除测试数据库为您服务。除非另有说明(我们将在一秒钟内看到如何),这将是test_ + <the name of the database in the settings file>。因此,如果您的settings使用数据库foo,则测试将针对test_foo执行。这不需要更改配置。

如果您希望对自定义数据库执行测试(而不是test_foo),则可以通过调整TEST_NAME setting来执行测试。您可以在DATABASES的每本词典中添加TEST_NAME

+0

我实际上并没有运行测试套件。我试图能够在本地测试和aws测试之间切换。 – ocoutts 2010-10-08 15:16:58

0

创建的settings.py一个测试版本,并指定在命令行中,当您运行测试:

$ python manage.py test --settings=settings_test 
+0

我是否需要更改我的manage.py文件以反映此问题?我的应用程序似乎没有准备好将此作为参数。 – ocoutts 2010-10-08 14:43:45

+0

不,你只需要创建一个新的设置文件并指定模块名称。最好将文件'from settings import *'保留所有常规设置。请参阅'python manage.py help'。 – Seth 2010-10-08 17:10:18