私のアプリはdjango-localeurlを使用しています。私の単体テストは django 1.5.5 では問題ありませんでしたが、django 1.6.2 に移行して以来、応答のステータス 301 のために多くのエラーが発生しています。
これは、ロケール接頭辞を考慮していない間違った URL が原因のようです。つまり、単体テストを呼び出す場合、 localeurl ではなくreverse
通常の djangoが呼び出されます。reverse
reverse
patch_reverse
が単体テストで呼び出されることを確認しました。私の呼び出しは、メインの urls.py の上部にあります。大丈夫そうです。
しかし、何らかの理由で、ジャンゴreverse
は何かによって復元されます。
この問題は、単体テスト中にのみ発生するようです。アプリの実行時に URL が正しくローカライズされます。
問題は django-localeurl の次の問題に対応していると思います: https://bitbucket.org/carljm/django-localeurl/issue/22/test-problem
この問題の原因を知っている人はいますか (django 1.6 で単体テストのメカニズムが変更されましたが、それが理由ですか?)、それを修正する方法はありますか?
アップデート
次の設定を強制すると問題は発生しません
TEST_RUNNER = 'django.test.simple.DjangoTestSuiteRunner'