Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

Golang 1.10 :: รู้หรือยังว่า go test มันเปลี่ยนไป

$
0
0

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

Viewing all articles
Browse latest Browse all 1997

Trending Articles