การใช้ doctest
เราเพิ่งเรียนรู้เกี่ยวกับ doctest ซึ่งเป็นวิธีง่าย ๆ ในการทดสอบฟังก์ชันเบื้องต้น หากคุณเขียน docstring พร้อมตัวอย่างครบถ้วน ในแบบฝึกหัดนี้จะได้ฝึกทดสอบและแก้ไขข้อผิดพลาดด้วย doctest โดยตรง
สิ่งต่อไปนี้ถูกโหลดไว้ในสภาพแวดล้อมแล้ว: doctest, Counter, และ text_analyzer
โปรดทราบว่าคำตอบของ docstring ต้องตรงกับเฉลยทุกประการ หากทำผิดหลายครั้งติดต่อกัน ลองรีเซ็ตเป็นโค้ดตัวอย่างแล้วเริ่มใหม่อีกครั้ง
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
หลักการวิศวกรรมซอฟต์แวร์ใน Python
คำแนะนำการฝึกหัด
- เติมโค้ด input ของตัวอย่างใน docstring ของฟังก์ชัน
sum_counters - เติมผลลัพธ์ที่คาดหวังเพื่อให้ตัวอย่างใน docstring สมบูรณ์
- รันฟังก์ชัน
testmodจากdoctestเพื่อทดสอบโค้ดตัวอย่างของฟังก์ชัน
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
def sum_counters(counters):
"""Aggregate collections.Counter objects by summing counts
:param counters: list/tuple of counters to sum
:return: aggregated counters with counts summed
>>> d1 = text_analyzer.Document('1 2 fizz 4 buzz fizz 7 8')
>>> d2 = text_analyzer.Document('fizz buzz 11 fizz 13 14')
>>> ____([d1.word_counts, d2.word_counts])
____
"""
return sum(counters, Counter())
____