การตั้งค่า remote_addr ในขวด test_request_context

ฉันจะตั้งค่าคุณสมบัติ remote_addr ในขวด test_request_context ได้อย่างไร คำถามนี้: รับที่อยู่ IP เมื่อทดสอบแอปพลิเคชัน flask ผ่านการทดสอบทางจมูก (และคำถามอื่น ๆ ที่คล้ายกัน) อธิบายวิธีดำเนินการโดยใช้ get/post/สิ่งที่ลูกค้าทดสอบเรียก แต่ฉันไม่ได้ใช้สิ่งเหล่านั้น (ในกรณีนี้) แต่ฉันได้รับ test_request_context แล้วเรียกใช้ฟังก์ชันแทน ซึ่งช่วยให้ฉันสามารถทดสอบฟังก์ชันที่เรียกโดยฟังก์ชันมุมมองของฉันทีละรายการได้

แก้ไข: เพื่อชี้แจงให้ชัดเจน โค้ดทดสอบของฉันมีลักษณะดังนี้:

with app.test_request_context():
    result=my_function_which_expects_to_be_called_from_a_request_context()
<check result however>

ดังนั้นฉันจึงใช้การเรียกลูกค้าทดสอบ


person ibrewster    schedule 09.08.2017    source แหล่งที่มา


คำตอบ (1)


ส่งอาร์กิวเมนต์เดียวกันกับ test_request_context เช่นเดียวกับที่คุณส่ง client.get ทั้งสองตั้งค่าสภาพแวดล้อม WSGI ด้วยวิธีเดียวกันภายใน

with app.test_request_context(environ_base={'REMOTE_ADDR': '10.1.2.3'}):
person davidism    schedule 09.08.2017