Tôi đã viết bài kiểm tra cho một trong các ứng dụng django của mình và đã tìm cách giải quyết vấn đề này trong một thời gian ngắn. Tôi có chế độ xem gửi thư bằng cách sử dụng django.contrib.messages
cho các trường hợp khác nhau. Giao diện trông giống như sau.Kiểm tra Django - kiểm tra tin nhắn cho chế độ xem chuyển hướng
from django.contrib import messages
from django.shortcuts import redirect
import custom_messages
def some_view(request):
""" This is a sample view for testing purposes.
"""
some_condition = models.SomeModel.objects.get_or_none(
condition=some_condition)
if some_condition:
messages.success(request, custom_message.SUCCESS)
else:
messages.error(request, custom_message.ERROR)
redirect(some_other_view)
Bây giờ, trong khi thử nghiệm phản ứng này xem client.get
's không chứa các từ điển context
chứa messages
như quan điểm này sử dụng một chuyển hướng. Đối với các chế độ xem hiển thị mẫu, chúng tôi có thể truy cập vào danh sách thư bằng cách sử dụng messages = response.context.get('messages')
. Làm cách nào để chúng tôi có thể truy cập messages
cho chế độ xem chuyển hướng?
Không chắc chắn nếu điều này sẽ phù hợp với nhu cầu của bạn nhưng bạn có thể vượt qua được biến để xác định những gì đã xảy ra: 'chuyển hướng (ngược (some_other_view) + '? user_added = true') ' –
Tôi thực sự đã thử nghiệm điều kiện đang được sử dụng trong khung nhìn trong bài kiểm tra của tôi. Ở đây tôi đang nói về kiểm tra một cách rõ ràng thông điệp đã được gửi đi. – Amyth