เอา .NET Core Project Test ออกจาก Code Coverage ใน Sonarqube

ในโพสต์ที่แล้วลองหา Code Coverage ใน .NET Core ไปแล้ว พอเอาเข้าไปแสดงใน Sonarqube มันดันมีผลของ Coverage จาก Project Test ปนเข้ามาด้วย นั่นแปลว่า ถ้าเราไม่หาวิธีเอามันออกจากผล Coverage เราก็ต้องทำ Project Test ขึ้นมาอีกอัน เพื่อเป็น Unit test ของ Project Test นั้นซ้อนอีกที ซึ่งวิธีแรกดูเข้าท่ากว่าเยอะ

ดู​ Code Coverage บน .NET Core ด้วย coverlet

หาวิธีเช็ค code coverage บน dotnet core บน non-windows platform จนเจอตัวที่ชื่อ minicover ตามที่ฟิวแนะนำด้วย blog ของปุ๋ย เข้าไปอ่านก็เจอว่าโอเคดีเหมือนกันนะ ตัว minicover แต่ก็ยังไม่ได้ตัดสินใจว่าจะใช้ minicover หรือตัวอื่น เลยหา ๆ ต่อ จนเจออีกตัวที่ชื่อ coverlet ก็โอเคเหมือนกัน ด้วยอยากลองทางเลือกอื่น ๆ บ้าง แถมกับที่ ตัว coverlet มันดูง่ายดี เลยลองเอา coverlet มาใช้ดู

รัน unit test บน jasmine ด้วย karma บน javascript บ้าน ๆ

ไปเจอโค้ด javascript ของลูกค้าแบบที่ไม่ได้ใช้ framework อะไรที่เป็น legacy คือไม่มี test ด้วย แล้วต้องการเขียน unit test เลยแนะนำว่าให้ลองใช้ jasmine ไปแบบไม่ได้บอกอะไร คิดว่าไม่เกิน 15 นาทีน่าจะหาวิธีใช้งานได้ เดินไปดูอีกที อ้าว เข้าป่าไปซะแล้ว เลยนึกขึ้นได้ว่า jasmine เฉย ๆ มันจะยุ่ง ๆ หน่อย ถ้าใช้ karma ร่วมด้วย น่าจะสะดวกกว่านี้เยอะ เลยทำตัวอย่าง ยัดใส่ github แล้วก็เอาไปให้ลูกค้าดู น่าจะเห็นทางไปละ

ใช้ Watcher ใน .NET Core

Microsoft ทำ tool ที่เอาไว้ auto rerun โค้ดใน .NET Core ไม่ว่าจะเป็น app เราหรือแค่เฉพาะ test เรียกว่า watcher โดยมันจะทำหน้าที่คอย detect ว่าโค้ดเรามีการเปลี่ยนแปลงหรือไม่ ถ้ามีการเปลี่ยนแปลงเกิดขึ้น มันก็จะ auto rerun สิ่งที่เราทำอยู่ให้

Headless Robot Framework มาพร้อมกับ SeleniumLibrary แล้ว

ก่อนหน้านี้เคยโพสต์เกี่ยวกับการใช้ Headless Browser ใน Robot Framework ทั้ง Chrome และ Firefox ตอนนั้นตัว Selenium Library เองยังไม่สนับสนุนการใช้ Headless Browser ทำให้ต้องเขียน Keyword หรือ Library เอา เพื่อเปิดใช้งาน Chrome หรือ Firefox แบบ Headless แต่วันนี้ลองเข้าไปดูใน Document ของ SeleniumLibrary อีกที อ้าวเฮ้ย มันสนับสนุน Headless Browser แล้ว ทั้ง Chrome และ Firefox เลยเว้ย ลองกันเลยดีกว่า