วันพุธที่ 14 มีนาคม พ.ศ. 2561

Test-Driven Development with Python(Chapter 1)

เนื่องจากเดิมอันเดิมยาวและติดกันเกินไปทำให้ยากต่อการอ่าน
จึงแยก (Week 3-2) - (Week 5-1) Test-Driven Development with Python ออกเป็น 7 part

Test Driven Development (TDD) 

“เวลาเราเขียนโค้ด เราก็มักจะพบปัญหาเหล่านี้ในการทำงานอยู่เสมอ”
เจอ bug ที่หลุดรอดสายตาเราไปได้ กว่าจะรู้ตัวก็ตอนส่งให้ tester ดูแล้ว
หลังจากที่แก้ bug นั้นไปแล้ว พอส่งงานไปให้ตรวจอีกที tester กลับไปเจอ bug ตัวใหม่
bug ที่เจอนั้นเกิดได้จากหลายสาเหตุ เราต้องมานั่งไล่โค้ดทีละส่วนๆ กว่าจะเจอสาเหตุ
จึงเกิดแนวคิดการเขียนโค้ดที่เรียกว่า Test Driven Development(TDD) ขึ้นมา

1. สร้าง Test ขึ้นมาก่อน
2. ลองรัน Test => ไม่ผ่าน
3. เริ่มเขียนโค้ดจริงๆ
4. รัน Test อีกที => ผ่าน
5. ปรับโค้ดที่รันผ่านแล้วให้ดีขึ้น

( ข้อมูลจาก : https://medium.com/@atikom17315/test-driven-development-tdd-%E0%B8%84%E0%B8%B7%E0%B8%AD%E0%B8%AD%E0%B8%B0%E0%B9%84%E0%B8%A3-721689c9a01c )
( ข้อมูลจาก : http://www.siamhtml.com/test-driven-development-introduction/ )

Install selenium & geck driver

selenium



geckdriver



Chapter 1

ขั้นแรกสร้างไฟล์เพื่อจะทดสอบ functional test แรกของหนังสือ

functional test : test ในมุมมองของ user

unit test : test ในมุมมองของ ผู้พัฒนา

แล้วจึงลอง import selenium แล้วเปิด browser firefox ไปที่ localhost ที่พอร์ต 8000
แล้วดูว่า title ของหน้า html คือ 'Django' หรือไม่

ในไฟล์ functional test ที่เราสร้างขึ้น (functional_tests.py)



ลองรันไฟล์

จะเปิดหน้า browser firefox แสดง unable to connect เพราะยังไม่ run server และสร้าง project



ต่อมาสร้างโปรเจคชื่อ superlists แล้วจึง runserver





จะแสดงหน้า default ของ framework django



ต่อมาทำการย้าย functional_test.py เข้ามาในโปรเจค superlists แล้วทำการสร้าง vcs ของเรา

(vcs Version Control System คือ ระบบที่จัดเก็บการเปลี่ยนแปลงที่เกิดขึ้นกับไฟล์หนึ่งหรือหลายไฟล์เพื่อที่คุณสามารถเรียกเวอร์ชั่นใดเวอร์ชั่นหนึ่งกลับมาดูเมื่อไรก็ได้ หนังสือเล่มนี้จะยกตัวอย่างจากไฟล์ที่เป็นซอร์สโค้ดของซอฟต์แวร์ แต่ขอให้เข้าใจว่าจริง ๆ แล้วคุณสามารถใช้ version control กับไฟล์ชนิดใดก็ได้
ที่มา : https://git-scm.com/book/th/v1/%E0%B9%80%E0%B8%A3%E0%B8%B4%E0%B9%88%E0%B8%A1%E0%B8%95%E0%B9%89%E0%B8%99%E0%B9%83%E0%B8%8A%E0%B9%89%E0%B8%87%E0%B8%B2%E0%B8%99-%E0%B9%80%E0%B8%81%E0%B8%B5%E0%B9%88%E0%B8%A2%E0%B8%A7%E0%B8%81%E0%B8%B1%E0%B8%9A-Version-Control)

ทำการตั้งค่า database >> .gitignore อยู่ใน vcs add file ทั้งหมดใน folder project แล้วทดสอบโชว์สถานะ


แล้วจึงทำการลบ cache



แล้วทำการ add gitignore เงื่อนไขทำเราตั้งไว้ในขั้นต้น แล้วจึง commit



ทดสอบทำการแสดง log commit ต่างๆ(ซึ่งในขั้นนี้มีอยู่เพียง commit เดียว)



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

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