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

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

เสียเวลาหาวิธีเอา Project ออกจากผล Code Coverage อยู่นาน ตั้งแต่ไปหา sonarqube properties เพื่อให้เอาผลออก หรือบังคับเอาเฉพาะ source ที่จะทำ code coverage ก็ดูไม่เป็นผล จนสุดท้ายก็มาเจอวิธีการมันใน documentation ของมันนี่แหละ (ก่อนหน้านี้ก็หาแล้วนะ แต่ไม่ยักกะเห็น)

วิธีก็โคตรง่าย

เปิดไฟล์ .csproj ที่ต้องการเอาออก แล้วเพิ่ม xml node นี้ลงไปภายใต้ <PropertyGroup>

<SonarQubeExclude>true</SonarQubeExclude>

เช่น

<PropertyGroup>
    <TargetFramework>netcoreapp2.0</TargetFramework>
    <IsPackable>false</IsPackable>
    <SonarQubeExclude>true</SonarQubeExclude>
</PropertyGroup>

เท่านี้แหละ แล้วก็รันเก็บ coverage ใหม่ได้เลย

One thought on “เอา .NET Core Project Test ออกจาก Code Coverage ใน Sonarqube

Leave a Reply

Your email address will not be published. Required fields are marked *