จากเอกสารของภาษา Golang 1.10 (beta 1) นั้น
ในส่วนของ go test มีการเปลี่ยนแปลงที่น่าสนใจมาก ๆ
จึงนำมาสรุปและลองใช้งานกันหน่อย
ประกอบไปด้วย
- การทำ caching ของ test result
- ทำการทดสอบเฉพาะส่วนที่มีการเปลี่ยนแปลงเท่านั้น
- ทำการ run go vet โดย default
- go test -coverpkg สามารถใส่ชื่อเป็น pattern ได้
- go test -failfast หยุดการทดสอบทันทีถ้ามี test case ที่ไม่ผ่าน
- go test -json ทำการสร้าง test result ในรูปแบบ JSON
เริ่มใช้งานกันนิดหน่อย
เรื่องของการทำ caching ของการทดสอบ
จะทำ caching เฉพาะการทดสอบที่ผ่านเท่านั้น
ที่สำคัญคือ
ถ้ามีการแก้ไข production code แล้ว
จะทำการทดสอบเฉพาะ test ที่เกี่ยวข้องกับ production code ที่เปลี่ยนเท่านั้น
เป็นความสามารถที่มีประโยชน์มาก ๆ
เพราะว่า ทำให้การทดสอบมีประสิทธิภาพสูงขึ้นอย่างมาก
มาดูตัวอย่างการใช้งาน
เรื่องของ code coverage
สามารถเลือก package ที่ต้องการดู code coverage ได้เลย
รวมไปถึงการสร้าง report อีกด้วย
เรื่องของ failfast
จะหยุดการทดสอบทันทีเมื่อมี test case ไม่ผ่าน
ที่สำคัญไม่ทำ caching ด้วยนะ !!
ดังนั้นจะรออะไรกัน
ทำการ download Golang 1.10 beta 1 มาลองใช้งานได้แล้วนะ
ว่าแต่เขียน test กันหรือยัง ?
ขอให้สนุกกับการ coding นะครับ