我在 Djangos 单元测试框架中遇到了一个奇怪的错误。它以前有效,但出乎意料的是,测试不再有效。
框架推出:
python manage.py test
Creating test database for alias 'default'...
................................................................
................................................................
................................................................
................................................................
......................s.........................................
E
E 是最后一个存在的东西,然后一切都卡住了。
当我只尝试测试单个应用程序时,情况是一样的(没有运行测试)。如果我在崩溃后直接运行测试,我会得到:
python manage.py test someapp
Creating test database for alias 'default'...
Got an error creating the test database: database "test_pybackend" already exists
Type 'yes' if you would like to try deleting the test database 'test_pybackend',
or 'no' to cancel: yes
Destroying old test database 'default'...
E
明显的问题是,测试数据库永远不会被破坏。
我可能是什么原因 - 什么可能是解决方案?
请您参考如下方法:
E 表示您的某个测试在运行时导致错误。看起来这个错误在某种程度上严重到足以停止整个测试框架的运行,导致测试数据库没有被删除。
当您单独测试项目中的每个 应用程序或仅针对特定应用程序测试时,您得到E 吗?
您需要找出哪个测试包含错误。您可以像这样运行单独的测试用例类:
python manage.py test someapp.TestCaseClassName
像这样的个别测试方法:
python manage.py test someapp.TestCaseClassName.test_method
(参见 https://docs.djangoproject.com/en/dev/topics/testing/#running-tests)
