จากเอกสารของภาษา 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 ที่เปลี่ยนเท่านั้น เป็นความสามารถที่มีประโยชน์มาก ๆ เพราะว่า ทำให้การทดสอบมีประสิทธิภาพสูงขึ้นอย่างมากมาดูตัวอย่างการใช้งาน [gist id="be411c7dc31e6d644c3e5f3a4c897832" file="1.txt"]
เรื่องของ code coverage
สามารถเลือก package ที่ต้องการดู code coverage ได้เลย รวมไปถึงการสร้าง report อีกด้วย [gist id="be411c7dc31e6d644c3e5f3a4c897832" file="2.txt"]เรื่องของ failfast
จะหยุดการทดสอบทันทีเมื่อมี test case ไม่ผ่าน ที่สำคัญไม่ทำ caching ด้วยนะ !! [gist id="be411c7dc31e6d644c3e5f3a4c897832" file="3.txt"] ดังนั้นจะรออะไรกัน ทำการ download Golang 1.10 beta 1 มาลองใช้งานได้แล้วนะว่าแต่เขียน test กันหรือยัง ?ขอให้สนุกกับการ coding นะครับ