ユーザーがホームページにレコードを追加し、後で保存されたページでレコードを表示できるようにするテストしたい機能があります。これは、アプリの実行時に機能します。
以下のテストを最初に実行すると、ユーザーはログインしますが、ブラウザーの URL が /saved を指すと、ユーザーは AnonymousUser になります。
これには理由がありますか?以下は私のコードです。
テスト:
def test_viewing_logged_in_users_saved_records(self):
# A user logs in
self.client.login(username = 'testuser1', email='testuser1@test.com', password = 'testuser1password')
self.browser.get(self.live_server_url)
# set up our POST data - keys and values are strings
# and post to home URL
response = self.client.post('/',
{'title': TestCase3.title
})
# The user is redirected to the new unit test display page
self.assertRedirects(response, 'unittestcase/hLdQg28/')
# Proceeds to the page where they can see their saved records
self.browser.get(self.live_server_url + '/saved')
# The user can view the tests that they have saved
body = self.browser.find_element_by_tag_name('body')
self.assertIn(TestCase3.title, body.text)
意見:
def home_post(request):
logging.warning('In home_post')
logging.warning(request.user)
if request.method == 'POST':
if request.user.is_authenticated():
....
def saved(request):
logging.warning('In saved')
logging.warning(request.user)
if request.user.is_authenticated():
....
ロギング:
WARNING:root:In home_post
WARNING:root:testuser1
WARNING:root:In saved
WARNING:root:AnonymousUser