Skip to main content
 首页 » 编程设计

python之Django 单元测试卡在 E 上

2024年08月29日31luoye11

我在 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)