[.NET] ออก HTML Test Report ของ dotnet

หลายคนอาจจะเจอปัญหาว่าเขียน Test ไปแล้ว ทำรายงานสรุปอย่างไรให้มันใช้ต่อได้ง่าย และมีข้อมูลสรุป โดยถ้าในยุคก่อนๆ ถ้าจะสร้าง html report จาก CI/CD มันมีขั้นตอนยุ่งยาก

  • ให้ Test Generate File ในรูปแบบ .trx / .xml
  • จากนั้นหา Tool จาก GitHub - danielpalme/ReportGenerator มาแปลงให้เป็นรูปแบบ html ครับ

ตัว dotnet เองก็มีนะ

  • คำสั่ง dotnet test มันมีให้ระบุ Report เป็น html ด้วยครับ
  • รูปแบบ
dotnet test <<PATH-TO-MSTEST-DLL>> -l:html
  • ตัวอย่าง
dotnet test D:\\01DOTNETCODE\\01GITMAIN\\invest-service\\UnitTest\\ds.Invest.Service.Impl.MSTest\\bin\\Release\\ds.Invest.Service.Impl.MSTest.dll -l:html
  • ผลลัพธ์ - ถ้าในหน้าจอ Console มันจะรันไปเรื่อยๆครับ
  • ผลลัพธ์ - Test Report ถ้าไม่กำหนด Path แยกเข้าไป มันจะอยู่ใน Path ที่ Run Command อย่างเช่นนี้ ผม Run ใน home ของ user ตัวเองครับ "C:\Users\invest" ไฟล์ Test Report จะอยู่ที่ "C:\Users\invest\TestResults"
  • Test Report
    • มีส่วนสรุปว่า Pass Fail Skip เท่าไหร่ ?
    • Fail Results ถ้ากดไปที่ Path บอก Test Case + Exception
    • All Results ถ้ากดลงไปจะบอกว่า Test Case ไหนผ่านบ้าง

จะใช้ HTML Test Report ของ dotnet หรือวิธีการเดิมที่มีหละ ?

  • สำหรับการสร้าง Simple HTML Test Report จากคำสั่ง dotnet test มันมีข้อจำกัดที่มีข้อมูลน้อยมากครับ
  • ส่วนวิธีการเดิม มันจะสามารถ Customize ได้มากกว่า เช่น การเพิ่มการแสดงผล Test Coverage ใน HTML Report โดยใช้ข้อมูลจาก GitHub - OpenCover/opencover (เดี๋ยวอันนี้ว่างๆ ผมจะมาเขียน Blog อีกตอนให้ครับ)
  • ทั้งนี้อาจจะขึ้นกับความต้องการของทีมงานครับ สำหรับผมใน Project ที่ทำอยู่คงใช้ Simple HTML Test Report จากคำสั่ง dotnet test ไปก่อนครับ เนื่องจากยังต้องมาปั๊นทีมที่เกี่ยวข้องให้เข้ามาทำ Automate กันอยู่ครับ

Discover more from naiwaen@DebuggingSoft

Subscribe to get the latest posts sent to your email.