จากเอกสารของภาษา 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 นะครับ

Tags: