หลังจากที่เราเขียนหรือเพิ่มเติมโคดต่างๆ ลงใน ofbiz แล้ว เราสามารถทดสอบผลลัพธ์ได้ครับ สิ่งแรกๆที่เราทำกันคือการทดสอบด้วยตัวเองก่อน แต่หากจะทดสอบโดยใช้เครื่องมือที่มีอยู่แล้วใน ofbiz ซึ่งตอนนี้มีอยู่สองตัวคือ Selenium และ Hudson ในหัวข้อนี้จะกล่าวถึงการทดสอบโดยใช้ Hudson ครับซึ่งเป็นการทดสอบไม่ว่าจะเป็นพวก service ที่เป็นที่ simple service และ java service พวกที่เป็น event ทั้งที่ event ที่เขียนโดย mini-language หรือ ที่เป็น event java อีกทั้งการทดสอบ seed data ด้วย งั้นเรามาเริ่มกันเลยครับ
เมื่อเราได้ทำการสร้าง component ใหม่ จะสังเกตว่ามีโฟรเดอร์ที่ชื่อ testdef อยู่ใน component ที่เราสร้างขึ้นครับ และ ภายโฟรเดอร์นี้แหละครับที่เราจะทำการเขียนไฟล์เพื่อทดสอบ ดังรูป
หากเราสร้างไฟล์ทดสอบขึ้นมาแล้ว ในโฟรเดอร์ ตัวอย่างไฟล์ชื่อ CatalogTest.xml สิ่งที่เราต้องทำต่อไปคือการประกาศไว้ในไฟล์ ofbiz-component.xml ดังรูป
เมื่อเราประกาศเสร็จแล้วเรามาดูภายในไฟล์ CatalogTest.xml กันครับว่ามีอะไรบ้าง ดังรูป
จากรูปในตัวเลขที่ 1 หมายถึงการกำหนดชื่อ suite ครับว่าไฟล์นี้ชื่อ test- suite ว่าอะไร และในภายใต้ test- suite ก็จะมีอีกสองตัวคือแท็ก test-case และ test-group ในรูปเราจะเห็นแต่ test-case ครับ เรามาดูตัวอย่าง test-case ที่เป็น หมายเลข 2 กันครับ ซึ่งเป็น test ข้อมูลพื้นฐานที่จะเอาเข้าระบบ เป็นการทดสอบนำข้อมูลเข้าตารางด ซึ่งเวลาใช้ เราจะในแท็ก entity-xml ตามด้วย location ที่อยู่ของไฟล์ seed ของเรา ในที่นี้มีชื่อไฟล์ว่า ProductPriceTestData.xml เรามาดูข้อมูลดังกล่าวกันเลยดังรูป
ซึ่งเป็นข้อมูลทั่วไปที่เราดูได้จาโฟรเดอร์ data ในทุก component ของ ofbiz ต่อไปเรามาดูที่เลข 3 กัน เป็นการทดสอบแบบ simple-method-test เราสามารถทำการทดสอบเรียกใช้ service หรือ event จากแท็กนี้โดยส่วนใหญ่จะทดสอบฟังก์ชั่นที่เขียนโดย mini-language เรามาดู ProductPriceTests.xml ครับ
จากรูป แสดงให้เห็นว่ามีการกำหนดค่าต่างๆไว้เรียบร้อยแล้วเพราะฉะนั้นเวลาทดสอบระบบ ระบบก็จะเอาข้อมูลดังกล่าวทดสอบ ในขั้นตอนของเลข 3 นั้นเราสามารถระบุ name ได้ด้วยเพื่อเราจะระบุได้ว่าจะทดสอบ method ใด หากไม่ได้ทำการระบุชื่อไว้ ระบบก็จะทดสอบไฟล์ดังกล่าวทั้งหมดครับ กรณีต่อไปหากเรายังไม่ชำนาญ mini-language แล้ว ก็มีวิธีอื่นครับ คือการใช้ภาษา java ในการทดสอบดังรูป
จากรูปเป็นการเรียกใช้เพื่อทดสอบไฟล์ทดสอบที่เขียนโดย java ครับ ซึ่งหลักการก็เหมือนทั่วไปคือการกำหนดข้อมูลต่างให้เรียบร้อยในไฟล์ทดสอบนั้นๆดังรูป
กรณีสุดท้ายเป็นการทดสอบรัน service test ครับ ดังรูป
ซึ่งเราสามารถเรียก service ทดสอบที่เราสร้างขึ้นได้ เรามาดู service ดังกล่าวกันครับ
จากservice ดังกล่าว จะเห็นว่ามีการก็เรียกไฟล์ทดสอบที่เขียนไว้แล้วได้ไม่ว่าจะเรียกที่เป็นไฟล์ java หรือ simple-method อีกที ตามคุณสมบัติของ service ครับ
หลังจากที่เราเขียนไฟล์ทดสอบดังกล่าวเสร็จแล้วเราสามารถรันเพื่อทดสอบได้ครับโดยใช้คำสั่งดังต่อไปนี้ ให้พิมพ์คำสั่ง ./ant -p เพื่อดูว่าเราสามารถใช้คำสั่งอะไรบ้างที่ใช้ในการทดสอบดังรูป
โดยคำสัง
./ant run-tests
จะใช้ในกรณีต้องการทดสอบ test ที่มีอยู่ใน ofbiz ทั้งหมด
ส่วนคำสั่ง
./ant run-single-test -Dtest.component=catalog -Dtest.case=loadProductPriceTestData
ใช้ในกรณีที่เราต้องการทดสอบเฉพาะ case นั้นๆโดยเราจะต้องระบุชื่อ component และ case จากตัวอย่าง component ชื่อ catalog และ case ชื่อ loadProductPriceTestData เป็นชื่อ case ตัวอย่างของหมายเลข 2
ส่วนคำสั่งสดุท้าย
./ant run-single-test-suite -Dtest.component=catalog -Dtest.suiteName=catalog
ใช้ในกรณีที่เราต้องการทดสอบเฉพาะ test-suite นั้นๆโดยเราจะต้องระบุชื่อ component และชื่อ test-suite จากตัวอย่าง component ชื่อ catalog และ test-suite ชื่อ test-suite เป็นชื่อ test-suite ของไฟล์นั้นเพื่อทดสอบทุกๆ case ใน test-suite นั้นๆ ตัวอย่างของหมายเลข 1
เมื่อเรารันคำสังดังกล่าวไปแล้วเราสามารดูผลลัพธ์ได้สองทางคือจาก Terminal ดังรูป
จากรูปจะบอกเราว่าการทดสอบผ่านหรือไม่, ทดสอบจำนวนกี่รายการ, failed กี่รายการ และ error กี่รายการซึ่งรายละเอียดก็จะบอกใน Terminal เช่นกัน อีกวิธีหนึ่งคือเมื่อเราทำการทดสอบแล้วระบบจะสร้างไฟล์ผลการทดสอบไว้ใน ofbiz ที่ ofbiz/runtime/logs/test-results/ เราสามารถดูรายละเอียดตรงนี้ได้เช่นกัน
เราสามารถดูตัวอย่างอื่นเพื่อทำความเข้าใจจากข้อมูลตัวอย่างที่มีอยู่แล้วใน ofbiz ครับ
This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.
0 comments:
Post a Comment