ใน Tutorial บทที่ 1 จะไม่ค่อยมีอะไรมากแค่สอนวิธีการใช้ Django สร้าง project แล้วก็การรัน test อย่างง่ายๆ ซึ่งจะเป็น FT (functional test) เพราะฉะนั้นจะขอข้ามไปบทที่ 2 เลย
ในบทนี้ก็จะเป็นการสอนการทำ function test ต่อ โดยโค้ดจะมีหน้าตาดังนี้
from selenium import webdriver
import unittest
class NewVisitorTest(unittest.TestCase): #1
def setUp(self): #2
self.browser = webdriver.Firefox()
self.browser.implicitly_wait(3)
def tearDown(self): #3
self.browser.quit()
def test_can_start_a_list_and_retrieve_it_later(self): #4
# Edith has heard about a cool new online to-do app. She goes
# to check out its homepage
self.browser.get('http://localhost:8000')
# She notices the page title and header mention to-do lists
self.assertIn('To-Do', self.browser.title) #5
self.fail('Finish the test!') #6
# She is invited to enter a to-do item straight away
#[...rest of comments as before]
if __name__ == '__main__': #7
unittest.main(warnings='ignore') #8
โดย #1 มีการสืบทอด unittest
#2 จะเป็นการ set up โดยจะเปิดเป็น browser firefox
#3 เมื่อ test เสร็จก็จะออก browser ให้อัตโนมัติ
#4 พวก function หรือ method ที่ขึ้นตันด้วย test_ จะเป็นการ test ทั้งสิ้น
#5 โดยใน function นี้จะเรียก url localhost:8000 และก็จะเช็ค โดยใช้คำสั่ง assertIn(a,b) คือจะทำการเช็คว่ามี a อยู่ใน b หรือไม่
#6 เป็นการบังคับ fail แล้วให้ขึ้นข้อความว่า "Finish the test"
#7 & #8 ขอข้ามไปก่อนครับผม
วันอาทิตย์ที่ 26 มีนาคม พ.ศ. 2560
Selenium pt.1
ในการทดลองใช้ selenium SPN ได้เขียน keyword ลงใน Blog ของเขาซึ่งผมก็ได้ทำตาม tutorial ไปเรื่อยๆก็ได้พบกับคำเหล่านี้ เต็มไปหมด ซึ่งผมจะหาคำนิยามของ keyword เหล่านี้
- Functional test ( การรันทดสอบการทำงานของโปรแกรม จากมุมองของ user ที่ user สามารถเข้าถึงได้ )
- User story ( เป็นการที่ user จะใช้โปรแกรมทำอะไร แล้วผลที่โปรแกรมจะส่งกลับมาเป็นยังไง )
- Expected failure ( ในการเขียน test จะต้องมีการคาดว่า การกระทำใดจะทำให้ผล test fail ได้ )
- Unit test ( เป็นการทดสอบโปรแกรมแบบ ด้านในของโปรแกรม ในมุมมองของคนเขียนโปรแกรม )
- Refactoring ( การปรับปรุงโค้ด โดยจะไม่ทำให้การทำงานของโปรแกรมเปลี่ยนแปลงไป )
- Functional test ( การรันทดสอบการทำงานของโปรแกรม จากมุมองของ user ที่ user สามารถเข้าถึงได้ )
- User story ( เป็นการที่ user จะใช้โปรแกรมทำอะไร แล้วผลที่โปรแกรมจะส่งกลับมาเป็นยังไง )
- Expected failure ( ในการเขียน test จะต้องมีการคาดว่า การกระทำใดจะทำให้ผล test fail ได้ )
- Unit test ( เป็นการทดสอบโปรแกรมแบบ ด้านในของโปรแกรม ในมุมมองของคนเขียนโปรแกรม )
- Refactoring ( การปรับปรุงโค้ด โดยจะไม่ทำให้การทำงานของโปรแกรมเปลี่ยนแปลงไป )
วันเสาร์ที่ 18 มีนาคม พ.ศ. 2560
Wiki
ในช่วงเวลา 1 สัปดาห์ในการพักผ่อน ทางผมได้ทำจัด Tutorial สำหรับสร้าง web app ledger หรือบันทึกรายรับ รายจ่าย ไว้ใน link => https://github.com/a5810067/ledger/wiki ซึ่งถ้าหากผิดพลาดประการใด ก็ขออภัยไว้ ณ ที่นี้ด้วย
สมัครสมาชิก:
บทความ (Atom)