我的应用程序正在使用 django-localeurl。我的单元测试在 django 1.5.5 中没问题,但自从我搬到 django 1.6.2 后,由于状态为 301 响应,我有很多错误。
这似乎是由不考虑语言环境前缀的错误 url 引起的。换句话说,reverse
在单元测试中调用时,调用的是通常的 djangoreverse
而不是 localeurl reverse
。
我已经检查了在patch_reverse
单元测试中是否调用了。我的电话在我的主要 urls.py 的顶部。好像没问题。
但是出于某种原因,djangoreverse
被某些东西恢复了。
这个问题似乎只发生在单元测试期间。运行应用程序时,网址已正确本地化。
我认为该问题对应于 django-localeurl 中的以下问题:https ://bitbucket.org/carljm/django-localeurl/issue/22/test-problem
有谁知道什么会导致这个问题(django 1.6 中的单元测试机制发生了变化,这是原因吗?)以及如何解决它?
更新
如果我强制执行以下设置,则不会出现问题
TEST_RUNNER = 'django.test.simple.DjangoTestSuiteRunner'