python - Django 单元测试卡住了 E

标签 python django django-unittest

我在 Django 单元测试框架中遇到了一个奇怪的错误。以前是有效的,但突然之间,测试不再有效了。

框架提出:

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 )

关于python - Django 单元测试卡住了 E,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13601971/

相关文章:

Python 等同于 Ruby 的#each_cons?

python - 从文本文件中删除多余的空间

python - Python 中具有无限小点大小的散点图

django - 如何使用用于日志记录的 Django 设置配置正确地使用 unittest 进行 assertLogs 测试?

python - 将额外参数传递给测试用例设置

python - 在 Y 和 Z 之间生成 X 个随机整数?

mysql - Django 如何命名为外键列自动创建的索引?

django - 在模板标签的引号中插入变量

python - 从同一网络的另一台机器访问 Django devserver

python - Django 联合测试 : Table doesn't exist