วันอาทิตย์ที่ 10 มีนาคม พ.ศ. 2562

[TDD] อธิบาย Commit (ต่อ)

Commit ที่ 9

caa1dd6
Model for list Items and associated migration

เริ่มนำ models เข้ามาใช้งาน และทดสอบการบันทึก object ใหม่ลงใน model โดยเมื่อเรายังไม่ได้ทำการสร้างตัว model เมื่อเราทำการ test จะหา model ไม่พบ และเมื่อเราสร้าง model แล้วก็ต้องทำการ migrate model ด้วย เพื่อบอกให้ฐานข้อมูลรับทราบว่ามีการเปลี่ยนแปลง model และเมื่อมีการเปลี่ยนแปลงข้อมูลใน model จะต้องทำการตั้ง default และ makemigrations ใหม่ทุกครั้ง


Commit ที่ 10

f894a48
Redirect after POST, and show all items in template

บันทึกข้อความที่ใส่ลงในช่อง input เข้าฐานข้อมูลโดยเริ่มจากการ test ว่ามีการบันทึกข้อมูลหรือไม่โดยการรับคำที่ใส่ลงใน input มาเก็บในตัวแปร และ save ลงในฐานข้อมูล(เมื่อเปิดขึ้นมาจะเกิด error เนื่องจากยังไม่มี input) หลังจากนั้นเพิ่มฟังก์ชันให้บันทึกลงในฐานข้อมูลโดยการกำหนด test ให้เป็นข้อความหนึ่ง เมื่อมีการรัน test ข้อความนั้นจะไปปรากฏในส่วนของช่อง input และถูกส่งมาบันทึกลงบนฐานข้อมูลด้วย method POST และแสดงผลบนเว็บไซต์ด้วยการ return redirect มาที่หน้าเดิม และให้แสดงผลครั้งที่รันกับข้อความที่แสดงแต่ละครั้งที่รัน



Commit ที่ 11

eb983d5 
make functional_tests an app, use LiveServerTestCase

แก้ไขฟังก์ชัน functional test โดยไม่ใช้ setUp และ tearDown โดยการเปลี่ยนไปใช้ class LiveServerTestCase ซึ่งเป็นความสามารถของ Django โดยเมื่อเรารัน test ใหม่ข้อมูลเดิมที่ได้รันและบันทึกไว้ก็จะหายไปและเป็นการเริ่มใหม่เสมอ และจะสังเกตุเห็นได้ว่า url เปลี่ยนไป จาก 8000 เป็น 62582 ซึ่งเป็น url จาก LiveServerTestCase



Commit ที่ 12

0d4e613 
try to get url

เปลี่ยน time.sleeps เป็น ฟังก์ชัน wait_for_row_in_list_table และกำหนดเวลาในการรอ test ให้มีขอบข่ายที่ชัดเจน 
เพิ่ม url สำหรับการทำงานเฉพาะอย่าง ใช้ assertRegex สำหรับตรวจสอบ regular expression แล้วจึงเพิ่มการ test เพื่อดู url

ไม่มีความคิดเห็น:

แสดงความคิดเห็น