程式碼涵蓋率擴充功能
本文列出並說明與程式代碼涵蓋範圍功能相關的所有 Microsoft Testing Platform
延伸模組。
您可以使用代碼涵蓋率特性來確定您的專案中有多少比例的代碼被測試程式(如單元測試)覆蓋。 為了有效防範 Bug,您的測試應該練習或 涵蓋大部分程式代碼。
Microsoft程式代碼涵蓋範圍
Microsoft 的程式代碼涵蓋率分析可用於受管理的(CLR)和未受管理的(原生)程式代碼。 同時支援靜態和動態檢測。 此延伸模組隨附於 Microsoft.Testing.Extensions.CodeCoverage NuGet 套件中。
注意
預設情況下,擴充功能中會停用 Unmanaged(原生)程式碼涵蓋範圍。 視需要使用旗標 EnableStaticNativeInstrumentation
和 EnableDynamicNativeInstrumentation
加以啟用。
如需非受控程式碼覆蓋範圍的詳細資訊,請參閱 靜態和動態本機化檢測。
重要
套件隨附了 Microsoft .NET 類庫的非開源免費使用授權模式。
如需Microsoft程式代碼涵蓋範圍的詳細資訊,請參閱其 GitHub 頁面。
Microsoft程式代碼涵蓋範圍提供下列選項:
選擇 | 描述 |
---|---|
--coverage |
使用 dotnet-coverage 工具收集程式代碼涵蓋範圍。 |
--coverage-output |
所產生涵蓋範圍檔案的名稱或路徑。 根據預設,檔案是 TestResults/<guid>.coverage 。 |
--coverage-output-format |
輸出檔案格式。 支援的值包括: coverage 、 xml 和 cobertura 。 預設值為 coverage 。 |
--coverage-settings |
XML 程式代碼涵蓋範圍設定。 |
被單
重要
coverlet.collector
NuGet 套件是專為 VSTest 所設計,無法與 Microsoft.Testing.Platform
搭配使用。
目前沒有 Coverlet 擴充功能,但您可以使用 Coverlet .NET 全域工具。
假設您已經安裝 Coverlet 全域工具,您現在可以執行:
coverlet .\bin\Debug\net8.0\TestProject2.dll --target "dotnet" --targetargs "test .\bin\Debug\net8.0\TestProject2.dll --no-build"