2

运行nosetests 时,django-nose runner 不提供--with-django选项 to nosetests,因此我的nose + Twill 测试在尝试访问 URL 时失败:

./manage.py test
...
raise BrowserStateError("cannot go to '%s'" % (url,))
BrowserStateError: cannot go to 'http://127.0.0.1:8088/admin/'
----------------------------------------------------------------------
Ran 2 tests in 0.166s

FAILED (errors=1)

当我--with-django手动提供或设置NOSE_WITH_DJANGO=1环境变量时,我的测试成功运行,但随后我收到以下异常:

$ ./manage.py test --with-django
...
Ran 2 tests in 0.199s

OK
...
AttributeError: type object 'Template' has no attribute 'original_render'

nosetests --with-django成功运行测试

4

1 回答 1

0

原来问题是我使用tddsprydjango-nose,他们都有自己类似的设置/拆卸插件,所以我将 django-nose TestRunner 子类化并从默认值中删除了该插件。

要解决此问题,请tddspry从官方git 存储库安装最新版本,django-nose 从 PyPI安装最新版本,并将 tddspry TestSuiteRunner 添加到 Django 设置中,如下所示:

TEST_RUNNER = 'tddspry.django.runner.TestSuiteRunner'
于 2010-11-05T21:11:51.410 回答