2016-10-19 9 views
5

djangoテストケースはDEBUG = False、TEMPLATE_DEBUG = Falseで実行され、Trueに変更できます。特定の機能のために、djangoテンプレートのレンダリングエラーが発生して正常に動作しない場合のテストケースの失敗

from django.test.utils import override_settings 

@override_settings(DEBUG=True) 
def test_one_function(self): 
    # This test should be failing and is not. 
    # If I did not test manually I would'nt know ! 
    pass 

を使用してしかし、おそらく一度にeveythingを申請し、より良い、より一般的な解決策はありますか?

テンプレートにエラーがあります。別のテンプレートが含まれており、リンクが壊れています。 DEBUG = Trueで手動でチェックすると、TemplateDoesNotExistエラーが発生します。しかし、私のテストケースでは、URLが壊れているインクルードなしでレンダリングされ、エラーはスローされず、http_statusは200になります。私は既に非常に一般的なインクルードテンプレートを別の場所でテストしました。内部が正しくレンダリングされました。しかし、私はレンダリングが失敗するのを見たいと思っています。それが私のテストの目的です!

TEMPLATE_STRING_IF_INVALIDをException(hereが見つかりました)に設定しようとしましたが、壊れたインクルードでは機能していないようです。

デバッグでテストを実行しないというdjangoの設計原則を破ることなく、テスト中にすべてのレンダリングエラーを発生させる例外がありますか?

答えて

0

Your question is solved here

テンプレート行方不明とオブジェクト欠落している間に違いがあり、コンテキスト

に欠けているオブジェクトがあるとき、TEMPLATE_STRING_IF_INVALIDが呼び出されます
関連する問題