我希望能够使用现有的测试数据库来运行我的测试,并且在每次我想运行测试时都没有Django创建和删除数据库。这可能吗?我怎样才能指定一个数据库的Django测试使用,而不是让它每次构建它?
回答
这是可能的,这里有一个办法:
1)定义你自己的测试运行看here怎么看。
2)对于您的自定义测试运行看在default test runner,你可以复制和过去的代码,只是注释此行:connection.creation.destroy_test_db(old_name, verbosity)
负责销毁测试数据库,我觉得你应该把connection.creation.create_test_db(..)
线除了这样的事情也许一试:
try:
# Create the database the first time.
connection.creation.create_test_db(verbosity, autoclobber=not interactive)
except ..: # Look at the error that this will raise when create a database that already exist
# Test database already created.
pass
3)势必setting.py TEST_RUNNER到您的测试运行。
4)现在运行测试是这样的:./manage.py测试
所以这看起来不错,但我仍然需要建立连接到本地测试数据库没有? – 2011-01-05 21:08:05
@Ryan Detzel:我刚刚编辑了我的答案,以获取更多细节,关于你的问题,我认为测试数据库上面的代码将在第一次运行测试时创建是的,这个测试数据库是由Django自动创建的: http://docs.djangoproject.com/zh/dev/topics/testing/?from=olddocs#the-test-database – mouad 2011-01-05 21:39:10
@mouad,我可以配置它,使它甚至不会加载灯具/冲洗它吗? – 2013-07-16 21:35:42
谁在使用Django> = 1.8
python manage.py test --keepdb
--keepdb果脯测试运行的测试数据库。这具有跳过创建和销毁操作的优点,这可以大大缩短运行测试的时间,尤其是在大型测试套件中。如果测试数据库不存在,它将在第一次运行时创建,然后为每次后续运行保留。在运行测试套件之前,任何未应用的迁移也将应用于测试数据库。
Django 1.6怎么样?有没有类似的方法? – 2016-08-18 06:57:05
- 1. 怎样才能让Django的不创建数据库表id列
- 2. 我怎样才能让它干?
- 3. 我怎样才能写这个,所以它只碰到数据库一次?
- 4. 我做了一个数据表。但是它每次都需要我的数据库/数据表的第一列。我怎样才能把它的第二行/列?
- 5. 这个Javascript函数保持循环,我怎样才能让它运行一次?
- 6. Lua Love2D - 我怎样才能让它下载一个文件?
- 7. 我怎样才能构建这个数据库?
- 8. JAVAFX:我怎样才能把它放在一个窗口而不是两个?
- 9. Javascript:我怎样才能'宣布'一个函数而不需要调用它?
- 10. 我怎样才能让它“git push”推送到本地仓库?
- 11. 我怎样才能使它动态
- 12. 我怎样才能让我的数据库连接UTF8启用
- 13. 我怎样才能调用函数一次点击JavaScript它只运行一次
- 14. 我怎样才能让消息每12小时弹出一次?
- 15. 我怎样才能达到一个值,XAML,并使用它
- 16. php:数据库类与PDO。我怎样才能让它变得更好?
- 17. 我怎样才能让这个div向左而不是右?
- 18. 1:20的最小倍数 - 我怎样才能让它更快?
- 19. 我怎样才能让这个方法更新每次通话
- 20. #怎么样!工作,我怎样才能使它适用于CoffeeScript?
- 21. C++通过引用多次传递一个指针,然后修改它。我怎样才能使它工作?
- 22. 我怎样才能每5秒检查一次数据库而不是冻结C#中的gui? [已解决]
- 23. 我怎样才能让python追加var并且不改变它?
- 24. 我怎样才能锁定一个文件,同时写入它
- 25. 使用WxGIS,我怎样才能将它与Qgis一起使用?
- 26. Android切换按钮只能工作一次。我怎样才能让它每次都有效?
- 27. 我正在使用的库打开一个输入流并且不关闭它。我怎样才能关闭它?
- 28. 我怎样才能让一个按钮,使用户只能看到它的文字,但不是按钮iphone sdk
- 29. execvp和我;我怎样才能让它为我工作?
- 30. 我怎样才能让不透明的一个div而不是背景图片?
你为什么要这么做?你也想测试数据库的创建... – 2011-01-05 16:55:45
不需要花费数小时才能建立。 – 2011-01-05 17:12:51
您可以选择不同的数据库引擎进行测试(sqlite有更快的数据库创建方式) – 2011-01-06 12:47:54