ฉันมีโมดูล/สคริปต์ python ซึ่งทำสิ่งเหล่านี้บางส่วน
- ในระดับต่างๆ ที่ซ้อนกันภายในสคริปต์ ฉันจะรับอินพุตบรรทัดคำสั่ง ตรวจสอบความถูกต้อง และใช้ค่าเริ่มต้นที่สมเหตุสมผล
- ฉันยังตรวจสอบด้วยว่ามีไดเร็กทอรีบางตัวอยู่หรือไม่
ข้างต้นเป็นเพียงสองตัวอย่าง ฉันกำลังพยายามค้นหาว่าอะไรคือ "กลยุทธ์" ที่ดีที่สุดในการทดสอบสิ่งนี้ สิ่งที่ฉันทำคือฉันได้สร้างฟังก์ชัน wrapper ประมาณ raw_input
และ os.path.exists
ในโมดูลของฉัน จากนั้นในการทดสอบ ฉันจะแทนที่ฟังก์ชันทั้งสองนี้เพื่อรับอินพุตจากรายการอาร์เรย์ของฉันหรือทำพฤติกรรม จำลอง บางอย่าง วิธีนี้มีข้อเสียดังต่อไปนี้
- ฟังก์ชัน Wrapper มีไว้เพื่อการทดสอบเท่านั้น และทำให้โค้ดเสียหาย
- ฉันต้องจำไว้ว่าต้องใช้ฟังก์ชัน wrapper ในโค้ดทุกครั้ง ไม่ใช่แค่โทร
os.path.exists
หรือraw_input
มีข้อเสนอแนะที่ยอดเยี่ยมบ้างไหม?