Using doctest in the Terminal
Python Testing Your Code
Terminalda doctestdan foydalanish
Python hujjatlariga ko'ra, doctest moduli kodingizni “interaktiv Python sessiyalariga o'xshash matnlar bo'yicha qidiradi va so'ngra bu sessiyalarni bajarib, ularning aynan ko'rsatilganidek ishlashini tekshiradi.”
Siz doctestni quyidagi maqsadlarda ishlatishingiz mumkin:
- Docstringlarning to'g'riligi va yangiligi tekshirish
- Paket uchun qo'llanma hujjatlarini yozish
- Regression sinovlarini bajarish
Regression sinovlari – bu dasturdagi o'zgartirishlardan keyin mavjud funksionallikning buzilmaganini tekshirishni ifodalovchi atama.
Agar siz doctest hujjatlariga qaramoqchi bo'lsangiz, quyidagi manzilda topishingiz mumkin:
Boshlash uchun sizga doctestdan foydalanish uchun kod kerak bo'ladi. Siz add_doctest.py
nomli fayl yaratib, unga quyidagi kodni qo'shishingiz mumkin:
add()
funksiyasi ikkita butun sonni qabul qiladi va integer qiymat qaytarishi kerak. Shuningdek, docstringga ikkita test qo'shdingiz. Docstringda add()
funksiyasiga qaysi argumentlar o'tkazilganini va qaysi qiymat qaytarilishi kerakligini ko'rsatyapsiz.
Ammo, kodingizda muammo bor. Buni ko'rayapsizmi? Agar ko'rmasangiz, xavotir olmang. Siz doctestni ishga tushirasiz va u nimani noto'g'ri ekanligini sizga aytadi.
Doctestni ishga tushirish uchun terminalni oching va Python faylingizni saqlagan joyga o'ting. Keyin quyidagi komandani bajaring:
Siz quyidagi chiqishni ko'rishingiz kerak:
Ikkala test ham muvaffaqiyatsiz bo'ldi. Chiqishda testlarning muvaffaqiyatsiz bo'lishining sababi shundaki, ular qaytariladigan qiymatni kutishgan, lekin “Hech narsa olinmadi” deb yozilgan. Siz kodingizni yangilab, ikkita argumentning qo'shilishini qaytarishingiz kerak:
Endi, agar doctestni yana ishga tushirsangiz, hech qanday chiqish ko'rmaysiz. Bu, barcha testlar muvaffaqiyatli o'tganini anglatadi. Agar testlar muvaffaqiyatli o'tsa ham, chiqishni ko'rishni istasangiz, -v
flagini qo'shishingiz mumkin:
Endi siz testlarning muvaffaqiyatli o'tganini ko'rishingiz mumkin!
Endi, doctestni kodingizda qanday ishlatishni o'rganishga tayyorsiz!
Last updated on