私のアプリはabcappと呼ばれています。Python 2.7 で Django 1.5b1 を実行しています。django の最新のトランク リリースでも同じ問題が発生します。
manage.py test abcapp
私が書いたすべてのテストを実行すると、合格します。
実行するmanage.py test
と、一連の失敗が発生します。これらの失敗の最初のものを示します。
Traceback (most recent call last):
File "C:\Program Files\Django-1.5b1\django\core\handlers\base.py", line 116, in get_response
response = callback(request, *callback_args, **callback_kwargs)
File "C:\Program Files\Django-1.5b1\django\views\decorators\cache.py", line 89, in _wrapped_view_func
response = view_func(request, *args, **kwargs)
File "C:\Program Files\Django-1.5b1\django\contrib\messages\tests\urls.py", line 30, in add
getattr(messages, message_type)(request, msg)
File "C:\Program Files\Django-1.5b1\django\contrib\messages\api.py", line 70, in debug
fail_silently=fail_silently)
File "C:\Program Files\Django-1.5b1\django\contrib\messages\api.py", line 22, in add_message
raise MessageFailure('You cannot add messages without installing '
MessageFailure: You cannot add messages without installing django.contrib.messages.middleware.MessageMiddleware
テスト結果は次のとおりです。
======================================================================
FAIL: test_clearsessions_command (django.contrib.sessions.tests.FileSessionTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\Program Files\Django-1.5b1\django\test\utils.py", line 213, in inner
return test_func(*args, **kwargs)
File "C:\Program Files\Django-1.5b1\django\contrib\sessions\tests.py", line 444, in test_clearsessions_command
self.assertEqual(1, count_sessions())
AssertionError: 1 != 2
----------------------------------------------------------------------
Ran 474 tests in 5.768s
FAILED (failures=1, skipped=141, expected failures=1)
メッセージに反して、django.contrib.messages.middleware.MessageMiddleware
私はMIDDLEWARE_CLASSES
. my の値MIDDLEWARE_CLASSES
は以下です。アプリ内で問題なくメッセージを使用しています。
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'debug_toolbar.middleware.DebugToolbarMiddleware',
)
誰でもこの問題に光を当てることができますか? 私は自分のテストしか実行できませんが、適切な品質管理を確保するためにスイート全体を実行したいと考えています。
調査結果: 私自身のテストを通じて、テスト用の http クライアントを使用すると、ミドルウェアがまったく読み込まれないことに気付きました。これは、テスト クライアントで Web リクエストを介して独自のミドルウェアをテストしようとしたときに発見されました。その場合、これは djanog コアにテストできないコードがあることを意味しますか?