テスト中にのみ特定のミドルウェア (私が作成したカスタム ミドルウェア) を無効にするにはどうすればよいですか?
質問する
4313 次
4 に答える
11
https://docs.djangoproject.com/en/dev/topics/testing/tools/#django.test.override_settings
from django.test import TestCase, override_settings
from django.conf import settings
class MyTestCase(TestCase):
@override_settings(
MIDDLEWARE_CLASSES=[mc for mc in settings.MIDDLEWARE_CLASSES
if mc != 'myapp.middleware.MyMiddleware']
)
def test_my_function(self):
pass
于 2015-08-12T17:56:56.397 に答える
8
いくつかのオプションがあります:
テスト用に別の
test_settings
設定ファイルを作成し、次の方法でテストを実行します。python manage.py test --settings=test_settings
にある場合は
settings.py
その場で変更しますtest
sys.argv
if 'test' in sys.argv: # modify MIDDLEWARE_CLASSES MIDDLEWARE_CLASSES = list(MIDDLEWARE_CLASSES) MIDDLEWARE_CLASSES.remove(<middleware_to_disable>)
それが役立つことを願っています。
于 2013-08-02T20:14:03.917 に答える