版本号是Django 1.6,Python 3.3.2和Mac OS X 10.9
我使用此命令创建应用程序
python3 manage.py startapp lists
然后在我的lists / tests.py文件中我把这段代码
from django.test import TestCase
class SmokeTest(TestCase):
def test_bad_maths(self):
self.assertEqual(1 + 1, 3)
然后我从app根文件夹
运行此命令python3 manage.py test
这是回来的堆栈跟踪,它无法正常工作
E
======================================================================
ERROR: test_bad_maths (lists.tests.SmokeTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/local/lib/python3.3/site-packages/django/db/backends/__init__.py", line 124, in ensure_connection
self.connect()
File "/usr/local/lib/python3.3/site-packages/django/db/backends/__init__.py", line 111, in connect
conn_params = self.get_connection_params()
File "/usr/local/lib/python3.3/site-packages/django/db/backends/__init__.py", line 85, in get_connection_params
raise NotImplementedError
NotImplementedError
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.3/site-packages/django/db/backends/__init__.py", line 653, in supports_transactions
self.connection.enter_transaction_management()
File "/usr/local/lib/python3.3/site-packages/django/db/backends/__init__.py", line 288, in enter_transaction_management
if managed == self.get_autocommit():
File "/usr/local/lib/python3.3/site-packages/django/db/backends/__init__.py", line 324, in get_autocommit
self.ensure_connection()
File "/usr/local/lib/python3.3/site-packages/django/db/backends/__init__.py", line 124, in ensure_connection
self.connect()
File "/usr/local/lib/python3.3/site-packages/django/db/utils.py", line 86, in __exit__
db_exc_type = getattr(self.wrapper.Database, dj_exc_type.__name__)
AttributeError: 'DatabaseWrapper' object has no attribute 'Database'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.3/site-packages/django/db/backends/__init__.py", line 124, in ensure_connection
self.connect()
File "/usr/local/lib/python3.3/site-packages/django/db/backends/__init__.py", line 111, in connect
conn_params = self.get_connection_params()
File "/usr/local/lib/python3.3/site-packages/django/db/backends/__init__.py", line 85, in get_connection_params
raise NotImplementedError
NotImplementedError
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.3/site-packages/django/test/testcases.py", line 178, in __call__
self._pre_setup()
File "/usr/local/lib/python3.3/site-packages/django/test/testcases.py", line 749, in _pre_setup
self._fixture_setup()
File "/usr/local/lib/python3.3/site-packages/django/test/testcases.py", line 861, in _fixture_setup
if not connections_support_transactions():
File "/usr/local/lib/python3.3/site-packages/django/test/testcases.py", line 848, in connections_support_transactions
for conn in connections.all())
File "/usr/local/lib/python3.3/site-packages/django/test/testcases.py", line 848, in <genexpr>
for conn in connections.all())
File "/usr/local/lib/python3.3/site-packages/django/utils/functional.py", line 49, in __get__
res = instance.__dict__[self.func.__name__] = self.func(instance)
File "/usr/local/lib/python3.3/site-packages/django/db/backends/__init__.py", line 664, in supports_transactions
self.connection.leave_transaction_management()
File "/usr/local/lib/python3.3/site-packages/django/db/backends/__init__.py", line 317, in leave_transaction_management
if managed == self.get_autocommit():
File "/usr/local/lib/python3.3/site-packages/django/db/backends/__init__.py", line 324, in get_autocommit
self.ensure_connection()
File "/usr/local/lib/python3.3/site-packages/django/db/backends/__init__.py", line 124, in ensure_connection
self.connect()
File "/usr/local/lib/python3.3/site-packages/django/db/utils.py", line 86, in __exit__
db_exc_type = getattr(self.wrapper.Database, dj_exc_type.__name__)
AttributeError: 'DatabaseWrapper' object has no attribute 'Database'
----------------------------------------------------------------------
Ran 0 tests in 0.031s
FAILED (errors=1)
答案 0 :(得分:2)
我有完全相同的环境: * Mac OS X 10.9 * Python 3.3.2 * Django 1.6
我安装了virtualenv 1.10.1并创建一个,安装django并创建项目和app:
virtualenv-3.3 tt
cd tt
. bin/activate
pip install django==1.6
django-admin.py startproject myproj
cd myproj
chmod +x manage.py
./manage.py startapp lists
现在我将你的代码粘贴到lists / test.py并使用默认settings.py(数据库sqlite3等)运行测试
./manage.py test
并得到了正确的结果:
为别名'default'创建测试数据库......
F
======================================================================
FAIL: test_bad_maths (lists.tests.SmokeTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Users/erevilla/tt/myproj/lists/tests.py", line 6, in test_bad_maths
self.assertEqual(1 + 1, 3)
AssertionError: 2 != 3
----------------------------------------------------------------------
Ran 1 test in 0.001s
FAILED (failures=1)
Destroying test database for alias 'default'...
我无法重现你的问题。请检查: