Chapter 3 - Testing a Simple Home Page with Unit Tests
เมื่อคราวที่แล้วได้ทดสอบการ ใช้ git ในการสร้างไฟล์ขึ้นมาและเรียนรัน ไฟล์ที่สร้างขึ้น
และมีการ set git ใน directory ที่เราได้สร้างขึ้นมา
ในครั้งนี้จะเป็นการสร้าง Home page อย่างง่าย ๆ และการ ทดสอบการรัน
file Homepage ที่สร้างขึ้น และแก้บัคกับสิ่งที่เกิดขึ้น
เนื่องจากว่า ผมได้ทดสอบ run ไปแล้ว 1 รอบ เมื่อกลับไปลอง run ใหม่แล้วค่าที่
error มันไม่หมือนเดิมจึงไม่สามารถที่จะ run output ออกมาให้ได้ทั้งหมดครับ
เนื่องจากว่า ผมได้ทดสอบ run ไปแล้ว 1 รอบ เมื่อกลับไปลอง run ใหม่แล้วค่าที่
error มันไม่หมือนเดิมจึงไม่สามารถที่จะ run output ออกมาให้ได้ทั้งหมดครับ
เริ่มต้น สร้าง List ในโฟลเดอร์ที่เราเริ่มต้นโปรเจคขึ้น ในที่นี้
ให้เราสร้าง app list โดยพิมพ์โค้ดลงไปดังนี้
superlists/
├── db.sqlite3
├── functional_tests.py
├── lists
│ ├── admin.py
│ ├── __init__.py
│ ├── migrations
│ │ └── __init__.py
│ ├── models.py
│ ├── tests.py
│ └── views.py
├── manage.py
└── superlists
├── __init__.py
├── __pycache__
├── settings.py
├── urls.py
└── wsgi.py
โดยหลังจากที่ได้ run code แล้วก็จะมี directory หน้าตาแบบนี้ขึ้นที่ directory ที่เราสร้างโปรเจคขึ้นมา
แล้วหลังจากนั้น ทดลอง run test โดยใส่โค้ดดังนี้

โดยหลังจากนั้นก็ได้ทำการเปลี่ยนแปลงข้อมูลในไฟล์ test.py ที่อยู่ใน /list/
ดังนี้
|
|

หลังจากนั้น หากผิดพลาดเมื่อได้ค่า error มาเราก็จะนำข้อผิดพลาดที่เกิดขึ้นมา
แก้ไข โดยจากตัวอย่างไม่ได้ผิดพลาดแต่อย่างใดแต่ได้ผลลัพธ์ที่ว่า 2 != 3
test.py เป็นไฟล์ที่เราเขียนขึ้นมาเพื่อใช้ทดสอบข้อผิดพลาดต่าง ๆ ภายใน TDD
ซึ่งผลลัพธ์สามารถที่จะทดสอบได้โดยทดลอง run ได้ใน python
ส่วน view.py เป็นในส่วนของมุมมองที่จะแสดงผลให้ client ดู
ทดสอบการรันในส่วนของ view.py แล้ว จะได้ error เกี่ยวกับในส่วนของ
function การแสดงผลออกมา ว่ามีการ error ในส่วนใดและจะสามารถนำในส่วนที่
มันฟ้องว่า error ในส่วนใด กลับมาแก้ไขได้
ในส่วนของ urls.py จะเป็นส่วนของการ map client ไปสู่ url ต่างๆที่ client
เรียกขอมาซึ่งจะมี error ขึ้นมาในส่วนของ url ที่ผิดพลาดเช่น
ภายใน urls มีโค้ดว่า
urlpatterns=patterns('',# Examples:url(r'^$','superlists.views.home',name='home'),# url(r'^blog/', include('blog.urls')),# url(r'^admin/', include(admin.site.urls)),)
เมื่อ run python manage.py test แล้วได้ output ออกมาดังนี้
django.core.exceptions.ViewDoesNotExist: Could not import superlists.views.home. Parent module superlists.views does not exist.
มันฟ้องว่าไม่พบ file ที่เราค้นหาอยู่ เนื่องจากว่าใส่โค้ดที่จะค้นหาในส่วนของไฟล์ url ผิดพลาด
จึงไม่สามารถที่จะค้นหาพบได้
ค่าที่ error ออกมานั้นมักจะมี วิธีแก้ไขออกมาให้ด้วยเสมอ ซึ่งวิธีแก้ไขนี้เอง
ที่เราสามารถที่จะนำไปปรับแก้โค้ดของเราทีละนิด ซึ่งทุกครั้งที่แก้ไข หากโปรแกรมนั้นยัง
error อยู่ก็มักที่จะมี solution หรือแนวทางในการแก้ไขปัญหาต่อ ๆ ไปที่จะให้เราทำไปตาม
ขั้นตอน จบกว่าที่มันจะไม่ error และสามารถที่จะ run ได้ตามปกติ





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