1. เอาไว้ทำอะไร ครับ
2. ใช้เพื่ออะไร ครับ
3. ไม่ใช้จะเป็นอะไรไม ครับ
4. ผมลองทดสอบ ดูแล้ว มันทดสอบเป็นจุดๆๆ (class หรือ function) และตรง tag JUnit มันแสดงแต่เวลาให้เรารู้ว่ารันไปกี่วินาที แล้วมันมีประโยชน์ อย่างอืนอีกไม ครับ
อีกข้อคือ ไครเคยใช้ robolectric แล้วบ้างครับ ช่วยอธิบายต่อด้วยนะครับ
ที่ว่าตั้งหัวข้อเพราะผมลองหาดูใน youtube แล้วฟังแล้ว งง อะครับ ขอแบบเข้าใจง่ายๆๆ นะครับ
ขอบคุณครับ
เป็นแนวคิดของพวก extreme programming(XP) ครับ ลองหาอ่านดู
ผมอ่านบทความภาษาไทยมาผ่านๆ เพราะอังกฤษไม่แข็งพอ T-T
ข้อ 1 กับ 2
ตาม concept คือเขียน test ด้วย unit test ก่อน ที่จะเขียนโปรแกรม
พอเขียนโปรแกรมเสร็จแล้วก็รันเทสดู (เขียนโปรแกรมขึ้นมาเทสโปรแกรม)
บน java ไม่เคยทำเหมือนกัน แหะๆ ถ้าจะทำใช้ JUnit
เคยลองทำดูบน .net ใช้ NUnit
เอาไว้เทส class ต่างๆในโปรแกรม ว่า return ค่าถูกต้องรึเปล่าโดยลองใส่ input ที่คาดว่าจะถูกต้องลงไป
เช่น
public double divide(int a,int b)
จะทำ test สำหรับ method นี้
คือลองใส่ค่า a กับ b ลงไป
เช่น divide(10, 2 ) แล้วเอาค่าที่ return ออกมาดูว่า ได้ 5 รึเปล่า
มันจะมีคำสั่งเอาไว้สำหรับเทส เช่น assert ลองหาอ่านดู 😀
หรือ divide(10, 0 ) ก็จะต้องได้ exception ออกมาเป็น arithmatic exception อะไรก็ว่าไป
ทำบน NUnit ถ้ามันถูกตามที่เราวางไว้มันจะขึ้นไฟสีเขียว ถ้าผิดจะขึ้นไฟสีแดง
(ผิด เช่น divide(10, 0 ) ดัน return 0 แทนที่จะเกิด exception)
3. ถ้าไม่ใช้ก็ไม่เป็นไร ได้ยินว่าพวกบริษัทฝรั่งชอบใช้ methodology นี้