【问题标题】:django-nose testrunner doesn't use --with-django optiondjango-nose testrunner 不使用 --with-django 选项
【发布时间】:2010-08-20 13:36:58
【问题描述】:

在运行nosetests 时,django-nose runner 不向nosetests 提供--with-django 选项,因此我的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 成功运行测试

【问题讨论】:

  • 我遇到了同样的问题,任何帮助都会非常感激。
  • 你使用 tddpsry 吗?我在使用 django-nose 和 tddspry 运行测试时遇到了这个错误。我已经为 tddspry 本身添加了 django-nose 支持,并且我的更改最近被拉入主仓库。请查看项目页面github.com/playpauseandstop/tddspry的“运行测试”部分@
  • 你是说 jbalogh 的 django-nose 吗?您是否将其添加到 INSTALLED_APPS 并添加了 TEST_RUNNER 设置?

标签: django unit-testing nose twill


【解决方案1】:

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

为了解决这个问题,从官方git repository安装最新的tddspry,最新的稳定版django-nosefrom PyPI,并在Django设置中添加tddspry TestSuiteRunner,如下:

TEST_RUNNER = 'tddspry.django.runner.TestSuiteRunner'

【讨论】:

    猜你喜欢
    • 2012-11-11
    • 2015-06-28
    • 1970-01-01
    • 2013-03-13
    • 2012-03-14
    • 1970-01-01
    • 2011-04-16
    • 1970-01-01
    • 2012-12-04
    相关资源
    最近更新 更多