2

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

明显的问题是,测试数据库永远不会被破坏。

我可能是什么原因 - 什么可能是解决方案?

4

1 回答 1

3

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

于 2012-11-28T09:45:29.740 回答