วันพุธที่ 24 กุมภาพันธ์ พ.ศ. 2559

Assignment 1 : Word Bank (Part 1)

ออกแบบหน้าเว็บไซต์ที่เราต้องการจะให้เป็น

หน้าแรกที่เข้าเว็บไซต์มา


เมื่อกด Search



Start Project ชื่อ WordBankWebsite

สร้าง git repository

และสร้าง app ชื่อ WordBank

จากนั้นสร้างไฟล์สำหรับ functional test


จะเริ่มจากการ functional test GUI ของ หน้า homepage ให้ได้แบบที่ต้องการ

User story



เริ่มเขียน functional test

เริ่มจากการทดสอบ title ว่ามีคำว่า Word Bank Website ไหม


พอลองรันเทส



แน่นอนว่าต้อง Error !!

มาทำให้เทสผ่านกันเถอะ

มาวิเคราะห์ดูแล้ว ที่ยังรันเทสไม่ผ่าน เพราะยังไม่มีหน้าแรกเลยด้วยซ้ำ

แสดงว่าเราต้องสร้าง index view

เขียน unit test เพื่อทำการเทสว่าเรามี index view แล้วหรือยัง


ลองเทส


ไม่พบ index

เพิ่ม index view ใน /WordBankWebsite/WordBank/views.py



จากตรง RegexURLPattern ดูเหมือนกับว่า มีปัญหาที่ URL

เรายังไม่ได้ URL Config เลย

สร้าง /WordBankWebsite/WordBank/urls.py


และแก้ไขไฟล์ /WordBankWebsite/WordBankWebsite/urls.py


ลองรันเทส


เทสผ่าน

ลองรัน functional test



เหตุผลที่ Unit Test ผ่าน เพราะ resolve ไปที่ '/' ได้ แต่ Functional Test ไม่ผ่าน เพราะถึงจะ resolve ไปได้ แต่เราก็ยังไม่มีหน้าเพจตามที่เราต้องการอยู่ดี

เขียน Unit Test เพื่อเทสว่า view return หน้าเพจ html ที่เราต้องการ




ทำการเขียนโค้ดเพื่อให้เทสผ่าน


ลองรันเทส


รัน Unit Test ผ่านแล้ว ลองรัน Functional Test




Functional Test ก็ผ่าน เย้ !!

แต่ว่า ด้วยความรู้ Django พื้นฐานที่มี เราสามารถใช้ Template ได้

จะทำการ Refactor index view

เซ็ต WordBank app ให้อยู่ใน INSTALLED_APPS

เปิด WordBankWebsite/WordBankWebsite/settings.py

เพิ่ม 'WordBank.apps.WordbankConfig', เข้าไป


สร้าง Directory /WordBankWebsite/WordBank/templates/WordBank/

และสร้างไฟล์ index.html ไว้ข้างใน


แต่เมื่อลองรันเทส


Unit Test เทสไม่ผ่าน แต่ Functional Test เทสผ่าน !!!

เป็นเพราะ response ที่ได้กลับมา ไม่ได้อยู่ในรูปของ text

ต้องแก้ไขเทส


 และแล้ว ก็รันเทสผ่าน


ในเมื่อเทสผ่านแล้ว รีแฟคเตอร์แล้ว ก็ทำการเขียน Functional test ต่อ และทำตาม TDD Cycle ต่อไป !!

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

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