[iOS] : มาเขียน Unit Test เล่นๆใน Playground กัน
- เปิด Xcode แล้วทำการสร้างแบบ playground -> Blank
2. ในที่นี้ตั้งชื่อ file ว่า ChayawatTest(คิดไม่ออก เอาชื่อตัวเองเลยละกัน)
3. เราจะสร้าง file ไว้ใน Sources เพื่อให้รู้ว่าเอาไฟล์ไหนมา ในที่นี้ตั้งชื่อว่า Chayawat
ทีนี้เรามาเริ่มลงมือกันเราจะเริ่มเขียนในรูปแบบ TDD (Test-Driven Development)
* red -> green -> refactor(หมุนๆไป) อ่านได้จากลิงค์นี้เลยครับ อธิบายไว้ดี
สมมุติว่าในที่นี้เราอยาก test ว่า
-> เรียก function นึง แล้วผลลัพธ์อยากให้ออกมา “Chayawat is 22 years old”
-> ก็สร้าง function ขึ้นมาเพื่อเราจะรู้ว่าเราจะ Test function นี้
-> สร้าง test case กัน
* function จะต้องขึ้นด้วย test
* ในที่นี้ตั้งชื่อเคส When -> Should(เมื่อทำอะไร อะไรควรจะเกิดขึ้น)
* ในที่นี้ใช้ตัว XCTAssertEqual (expect, result)
* defaultTestSuite(จะทำการเทส funtion ทั้งหมดในคลาสนี้)
-> มารันไฟล์กัน
แน่นอนว่ามันต้อง fail ออกมาแน่ๆ
-> มาเขียนโค้ดใหม่ให้มันไม่ fail กัน
-> refactor code กันดีกว่า
จะเห็นได้ว่า function getNameAndAge() มันให้ผลลัพธ์เป็นแบบเดิมตลอด เราจะไม่ต้องการ function แบบนั้น เราจะเอา function ที่เรากำหนดอายุเราเองได้
-> เราจะเพิ่ม test case เข้ามา
-> กด run test ใหม่
นี่ก็เป็นหลักเบื้องต้นในการเขียน unit test ครับแบบ TDD (รึเปล่าไม่แน่ใจ 555) จุดประสงค์หลักๆเพื่อทดสอบว่า function นั้นทำงานถูกต้องรึเปล่า ถ้ามี requirement เปลี่ยนที่มีผลกระทบกับ function นั้น เวลาเรารัน test มันจะ fail แน่นอน นี่ก็เป็นข้อดีข้อนึงของ unit test ครับ
** ถ้าผิดพลาดประการใดขออภัย ณ ที่นี้ด้วยครับ ขอบคุณครับ **