Ole*_*nko 5 testing django unit-testing fixtures
我正在尝试创建一组测试用例来覆盖我的 django 应用程序。我需要预定义的数据库数据来运行一些测试。所以我决定使用固定装置。
我所做的是: 1) 创建固定装置文件: oleg$ python manage.py dumpdata goserver > Fixture1.json 2) 将固定装置放置在应用程序所在的目录中 oleg$ cp Fixture1.json goserver/ 3) 记下纹理名称我的应用程序中的测试文件
class GoserverTestCase(TestCase):
fixtures = ['fixture1.json']
def setUp(self):
pass
def testUserIsAdded(self):
print "Users" , User.objects.all()
#print ActiveList.objects.all()
self.assertEquals(True, True)
Run Code Online (Sandbox Code Playgroud)
4) 使用以下命令运行文本案例: oleg$ python manage.py test --verbosity=2 goserver
测试运行的输出是(部分):
尝试 '/Users/oleg/jin/goclub/trunk/jin/../jin/register/fixtures' 获取 xml 固定装置 'initial_data'...'/Users/oleg/jin/goclub/ 中没有 xml 固定装置 'initial_data' trunk/jin/../jin/register/fixtures'. 尝试 '/Users/oleg/jin/goclub/trunk/jin/../jin/register/fixtures' 获取 json 夹具 'initial_data'... '/Users/oleg/jin/goclub/ 中没有 json 夹具 'initial_data' trunk/jin/../jin/register/fixtures'. 检查“/Users/oleg/jin/goclub/trunk/jin/../jin/captcha/fixtures”的固定装置...尝试“/Users/oleg/jin/goclub/trunk/jin/../jin/captcha” /fixtures' 用于 xml 装置'initial_data'...'/Users/oleg/jin/goclub/trunk/jin/../jin/captcha/fixtures' 中没有 xml 装置'initial_data'。尝试 '/Users/oleg/jin/goclub/trunk/jin/../jin/captcha/fixtures' 获取 json 固定装置 'initial_data'...'/Users/oleg/jin/goclub/ 中没有 json 固定装置 'initial_data' trunk/jin/../jin/captcha/fixtures'. 检查“/Users/oleg/jin/goclub/trunk/jin/../jin/goserver/fixtures”的固定装置...尝试“/Users/oleg/jin/goclub/trunk/jin/../jin/goserver” /fixtures' 用于 xml 装置'initial_data'...'/Users/oleg/jin/goclub/trunk/jin/../jin/goserver/fixtures' 中没有 xml 装置'initial_data'。尝试 '/Users/oleg/jin/goclub/trunk/jin/../jin/goserver/fixtures' 获取 json 固定装置 'initial_data'...'/Users/oleg/jin/goclub/ 中没有 json 固定装置 'initial_data' trunk/jin/../jin/goserver/fixtures'. 正在检查“/”固定装置...正在尝试“/”查找 xml 固定装置“initial_data”...“/”中没有 xml 固定装置“initial_data”。正在尝试 '/' 获取 json 固定装置'initial_data'...'/'中没有 json 固定装置'initial_data'。正在检查“U”的固定装置...正在尝试“U”查找 xml 固定装置“initial_data”...“U”中没有 xml 固定装置“initial_data”。尝试使用“U”作为 json 固定装置“initial_data”...“U”中没有 json 固定装置“initial_data”。检查“s”的固定装置...尝试“s”查找 xml 固定装置“initial_data”...“s”中没有 xml 固定装置“initial_data”。尝试使用 's' 作为 json 固定装置'initial_data'..
实际上问题是根本找不到夹具,因此没有添加我想要添加到测试数据库中的数据。你能建议我一个解决问题的方法吗
我尝试了一种新方法。我刚刚转储了完整的数据库并将其放入应用程序文件夹中。
但我遇到了一些编码问题。
您能否检查一下错误响应:
文件“build/bdist.macosx-10.3-i386/egg/MySQLdb/cursors.py”,第 168 行,在执行中,如果不是 self._defer_warnings: self._warning_check() 文件“build/bdist.macosx-10.3-i386/egg” /MySQLdb/cursors.py”,第 82 行,在 _warning_check warn(w[-1], self.Warning, 3) 文件“/opt/local/lib/python2.5/warnings.py”,第 62 行,在 warn文件“/opt/local/lib/python2.5/warnings.py”,第 102 行,warn_explicit 引发消息警告:列的字符串值不正确:'\xD0\x9D\xD0\xB0 \xD0...' “object_repr”位于第 1 行
testUserIsAdded (jin.goserver.tests.GoserverTestCase) ... 用户 []
回溯(最近一次调用最后一次):文件“manage.py”,第11行,在execute_manager(settings)文件“/opt/local/lib/python2.5/site-packages/Django-1.0.2_final-py2.5. Egg/django/core/management/ init .py”,第 340 行,在execute_manager utility.execute() 文件“/opt/local/lib/python2.5/site-packages/Django-1.0.2_final-py2.5. Egg/django/core/management/ init .py”,第295行,在执行self.fetch_command(subcommand).run_from_argv(self.argv)文件“/opt/local/lib/python2.5/site-packages/Django- 1.0.2_final-py2.5.egg/django/core/management/base.py”,第 192 行,在 run_from_argv self.execute(*args, **options.dict )文件“/opt/local/lib/python2.1.1.0.2_final-py2.5.egg/django/core/management/base.py” 5/site-packages/Django-1.0.2_final-py2.5.egg/django/core/management/base.py”,第219行,执行输出= self.handle(*args,**options)文件“/ opt/local/lib/python2.5/site-packages/Django-1.0.2_final-py2.5.egg/django/core/management/commands/test.py”,第 33 行,在处理失败 = test_runner(test_labels, verbosity=verbosity,interactive=interactive)文件“/opt/local/lib/python2.5/site-packages/django_test_coverage-0.1-py2.5.egg/django-test-coverage/runner.py”,第58行,位于run_tests module.extend(_package_modules(*pkg)) 文件“/opt/local/lib/python2.5/site-packages/django_test_coverage-0.1-py2.5.egg/django-test-coverage/runner.py”,行92、在_package_modules中modules.append( import (impstr + '.' + name, {}, {}, [''])) 文件 "/Users/oleg/jin/goclub/trunk/jin/goserver/admin.py ”,第 11 行,在 admin.site.register(ActiveList, ActiveListAdmin) 文件“/opt/local/lib/python2.5/site-packages/Django-1.0.2_final-py2.5.egg/django/contrib/admin /sites.py”,第 64 行,在寄存器中 raise AlreadyRegistered('模型 %s 已注册' % model. name ) django.contrib.admin.sites.AlreadyRegistered: 模型 ActiveList 已注册
对于第一个问题,在哪里放置夹具文件:在每个应用程序中创建一个名为“fixtures”的文件夹,并将夹具数据放置在其中。
对于有关完整性错误的第二个问题,请查看有关内容类型和固定装置问题的讨论:
| 归档时间: |
|
| 查看次数: |
5908 次 |
| 最近记录: |