首 頁
手機(jī)版

dotCover 2024官方版 v2024.2.5

.NET 單元測試運(yùn)行程序和代碼覆蓋率工具

dotCover 2024官方版是一款.NET單元測試運(yùn)作程序流程和代碼覆蓋率專用工具,能夠與Visual Studio和JetBrains Rider進(jìn)行集成,為用戶提供全面的單元測試覆蓋編碼水平,不僅可以測算并匯報面向.net framework、.NET Core、Mono和Mono for Unity的程序運(yùn)行的句子級代碼覆蓋率,還能夠幫助用戶更好地理解和優(yōu)化代碼質(zhì)量。

通過使用dotCover,用戶可以在開發(fā)過程中實時監(jiān)測代碼的執(zhí)行情況,從而確保您的單元測試能夠覆蓋到盡可能多的代碼路徑,這對于提高軟件的可靠性和穩(wěn)定性至關(guān)重要,軟件還提供了豐富的報告功能,讓用戶能夠清晰地了解哪些代碼被執(zhí)行了,哪些代碼沒有被執(zhí)行,以及哪些代碼可能存在潛在的問題。除此之外,JetBrains dotCover 2024已經(jīng)正式支持Visual Studio 2022、2019、2017、2015 和 2013,還支持NUnit、xUnit等多種測試框架,讓用戶可以輕松地將其與現(xiàn)有的測試環(huán)境集成。同時,軟件還提供了靈活的配置選項,讓用戶可以根據(jù)自己的需求定制測試策略,以滿足不同項目的需求。

JetBrains dotCover(代碼覆蓋率工具)

dotCover 2024.2.5新功能

1、對 MAUI 應(yīng)用程序的支持

現(xiàn)在,您可以對基于 MAUI 框架的單元測試和應(yīng)用程序執(zhí)行覆蓋率分析。目前,dotCover 僅支持 Windows 上以 .NET 7.0+ 為目標(biāo)的 WinUI 桌面應(yīng)用程序。這適用于獨立 dotCover 以及 ReSharper 和 Rider 中的 dotCover。

2、改進(jìn)的覆蓋高亮顯示

Rider 和 ReSharper 中的 dotCover 獲得了改進(jìn)的代碼高亮顯示:包括新的背景顏色、用于部分覆蓋代碼行的新裝訂區(qū)域圖標(biāo),以及其他細(xì)微更改。

3、改進(jìn)的命令行工具

dotCover 命令行工具現(xiàn)在作為跨平臺框架相關(guān)的 .NET 工具提供。此工具作為 CI/CD 場景的默認(rèn)解決方案,并取代以前的解決方案。

4、持續(xù)測試的快捷鍵

現(xiàn)在,可以使用快捷鍵直接觸發(fā)持續(xù)測試。此前,只能通過構(gòu)建或保存項目來間接執(zhí)行此操作。這項功能在帶有 ReSharper 的 Visual Studio 和 JetBrains Rider 中均可使用。

5、對 Windows ARM64 的支持

現(xiàn)在,您可以在 ARM64 CPU 版本的 Windows 上使用 dotCover。這適用于所有版本:獨立版 dotCover、Rider 中的 dotCover、Visual Studio 中的 dotCover 和 dotCover 控制臺運(yùn)行器。

6、對 Linux ARM32 的支持

您現(xiàn)在可以在 ARM32 CPU 版本的 Linux 上使用 dotCover 控制臺運(yùn)行程序。支持的框架為 .NET Core 3.1 和 .NET 5.0–7.0。

7、在 JetBrains Rider 中更輕松地導(dǎo)航到測試

我們已將 Show Covering Tests(顯示覆蓋測試)操作添加到代碼編輯器和 Unit Test Coverage(單元測試覆蓋)窗口中的 dotCover 上下文菜單。此操作會顯示一個彈出窗口,其中所有覆蓋測試都在同一位置。彈出窗口還允許您創(chuàng)建新的覆蓋會話。

8、更快的卷影復(fù)制

現(xiàn)在,dotCover 僅復(fù)制 Visual Studio 和 JetBrains Rider 中持續(xù)測試所需的程序集和符號文件。這提高了 dotCover 的整體性能,特別是在大型項目中,因為它不再需要復(fù)制整個工作目錄。如有必要,您可以在 dotCover 設(shè)置中調(diào)整卷影復(fù)制文件篩選器。

9、改進(jìn)了 JetBrains Rider 中的 Unity 支持

以前,要分析 Unity 測試的覆蓋率,您必須重啟 Unity 并啟用覆蓋率支持。從此版本開始,不再需要重新啟動 Unity,并且測試覆蓋率開箱即受支持。

10、在 JetBrains Rider 中快速查看覆蓋結(jié)果

您可以使用盾牌圖標(biāo)快速查看已打開文件的覆蓋結(jié)果。點擊圖標(biāo)將在未覆蓋的語句之間導(dǎo)航。

11、對基于 musl 的 Linux 發(fā)行版的支持

dotCover 命令行運(yùn)行程序現(xiàn)在支持 Alpine 版本 3.13–3.15。支持以下 CPU 和框架:

- x64:.NET Core 3.1、.NET 5.0–6.0。

- arm64:.NET 5.0–6.0。

12、新的覆蓋率報告類型

我們正在添加包含逐個測試覆蓋率信息的新報告類型:FileCoverageXml、DetailedFileCoverageXml、FileCoverageJson 和 DetailedFileCoverageJson。

新報告包括三個部分:

- Files,包括所覆蓋源代碼文件的信息。詳細(xì)報告還提供各文件所覆蓋范圍的信息。

- TestLists,提供按測試集聚合的測試的信息。

- Tests,包括每個測試的詳細(xì)信息。

13、使用注釋從覆蓋率分析中排除代碼

您現(xiàn)在可以使用注釋從覆蓋率分析中排除某些行或代碼塊??捎眠x項:

// dotcover disable

var i = 1;

var j = 10;

// dotcover enable

/* dotcover disable */ var i = 1; /* dotcover enable */

var i = 1; // dotCover disable this line

// dotcover disable next line

var j = 100;

要使某一選項起作用,必須引用 JetBrains.dotCover.MSBuild NuGet 軟件包。這是一個僅用于開發(fā)的依賴項,不會作為運(yùn)行時依賴項添加到項目中。

14、性能改進(jìn)

我們改進(jìn)了覆蓋率數(shù)據(jù)的后處理。例如,控制臺運(yùn)行程序 (IncludePerTest=true) 生成報告所需的時間要少得多。

15、對 Apple 芯片處理器的支持

dotCover 命令行運(yùn)行程序現(xiàn)在可以在配備 Apple 芯片處理器的計算機(jī)上運(yùn)行。它可以為 .NET 6 應(yīng)用程序(原生模式)和 .NET 5 應(yīng)用程序(Rosetta 2 模式)提供覆蓋率分析。

16、代碼覆蓋率的 Code Vision 指標(biāo)

新的 Code Vision 指標(biāo)已添加到 Rider 中的 dotCover。dotCover 會針對一組測試中包含的每個類型成員顯示成功和失敗測試的數(shù)量。您還可以使用 Code Vision 通知運(yùn)行、覆蓋和調(diào)試測試。

17、改進(jìn)了 dotCover .NET 全局工具

dotCover .NET 全局工具現(xiàn)在包括 merge 和 report 命令。

18、性能改進(jìn)

我們改進(jìn)了 dotCover 命令行運(yùn)行程序的性能,加快了覆蓋率分析。

19、控制臺運(yùn)行程序中個別測試的覆蓋率信息

dotCover 控制臺運(yùn)行程序能夠收集個別測試的覆蓋率信息,并顯示在生成的報告中。目前,僅支持以下測試運(yùn)行程序:dotnet test、dotnet vstest、vstest.console.exe。例如:dotCover.exe dotnet --output=AppCoverageReport.xml --reportType=XML --IncludePerTestInfo=Method -- test "C:\MyProject\MainTests.csproj"

20、改進(jìn)了覆蓋性能

現(xiàn)在,dotCover 可以在一個程序集中并行運(yùn)行測試類的覆蓋率分析。在某些情況下,這可以加快覆蓋率分析速度。

現(xiàn)在,可以為 .NET Core 和 .NET 項目預(yù)加載單元測試運(yùn)行程序(這樣,由于單元測試運(yùn)行程序已加載到內(nèi)存中,因此可以更快地開始覆蓋率分析)。

21、C# 和 Unity 支持更新

我們改進(jìn)了覆蓋樹中對 C# 8.0 和 C# 9.0 的支持(顯示默認(rèn)接口實現(xiàn)等)。

現(xiàn)在,dotCover 將在覆蓋率篩選器發(fā)生更改時主動詢問是否重啟 Unity 編輯器。

22、ReSharper 中的更新版篩選設(shè)置

現(xiàn)在,您可以在 Visual Studio 中使用 ReSharper 配置覆蓋篩選器,方法與在 JetBrains Rider 中相同。

23、作為 .NET 全局工具的 dotCover 控制臺運(yùn)行程序

您可以將 dotCover 控制臺運(yùn)行程序作為 dotnet 全局工具安裝:dotnet tool install --global JetBrains.dotCover.GlobalTools --version 2021.1.0
使用它分析 .NET Core 項目和單元測試的覆蓋率。

JetBrains dotCover軟件怎么運(yùn)行?

1、打開在本站安裝的dotCover官方版,可以使用以下命令來運(yùn)行代碼覆蓋率報告,這將生成一個包含代碼覆蓋報告的HTML文件,其中包含有關(guān)代碼覆蓋率的信息。在報告中,您將看到每個代碼行的覆蓋率以及代碼行和代碼塊的總覆蓋率,

2、如果你想生成一個JSON格式的代碼覆蓋率報告,可以通過以下命令來實現(xiàn),

3、在生成的JSON報告中,你將看到每個代碼塊的覆蓋率以及代碼行和代碼塊的總覆蓋率。如果你想將代碼覆蓋率報告集成到您的CI/CD流程中,可以通過以下命令來實現(xiàn):

4、這將生成一個包含代碼覆蓋信息的XML文件,可以將其集成到您的CI/CD流程中。

軟件亮點

1、與 Visual Studio 和 JetBrains Rider 集成

dotCover 是 Visual Studio 和 JetBrains Rider 的插件,讓您無需離開代碼編輯器即可分析和可視化代碼覆蓋率。這包括直接在 IDE 中運(yùn)行單元測試和分析覆蓋率結(jié)果,以及對不同顏色主題、新圖標(biāo)和菜單的支持。

dotCover 支持 Visual Studio 2010 — 2019 和 JetBrains Rider 2018.2 或更高版本。

2、適用于 Windows、macOS 和 Linux

作為 Windows 上 Visual Studio 或 JetBrains Rider 的一部分,dotCover 支持面向任何受支持版本的 .NET Framework、.NET Core、.NET、Mono 5.10 或更高版本以及 Unity 2018.3 或更高版本的項目。在 macOS 和 Linux 上,dotCover 只能用作 JetBrains Rider 的一部分。

3、運(yùn)行和管理單元測試

dotCover 捆綁了一個單元測試運(yùn)行器,它與另一個面向 .NET 開發(fā)人員的 JetBrains 工具ReSharper共享。

該運(yùn)行程序在 Visual Studio / JetBrains Rider 中工作,允許通過會話管理單元測試,并支持多個單元測試框架,即 MSTest、NUnit、xUnit(全部開箱即用)和 MSpec(通過插件)。

4、持續(xù)測試

dotCover 支持持續(xù)測試:一種現(xiàn)代的單元測試工作流程,dotCover 可以實時找出哪些單元測試受到最新代碼更改的影響,并自動為您重新運(yùn)行受影響的測試。

根據(jù)您的偏好,dotCover 可以在保存文件、構(gòu)建解決方案時或在您明確告訴 dotCover 時運(yùn)行受影響的測試。

可以為任何單元測試會話打開連續(xù)測試模式:這樣您就可以選擇要連續(xù)運(yùn)行哪些測試以及以傳統(tǒng)方式運(yùn)行哪些測試。

5、單元測試覆蓋率

dotCover 的一個主要用例是分析單元測試覆蓋率,即找出應(yīng)用程序業(yè)務(wù)邏輯的哪些部分被單元測試覆蓋,哪些部分沒有。

除了單元測試運(yùn)行結(jié)果之外,dotCover 還會顯示覆蓋樹,顯示單元測試覆蓋特定項目、命名空間、類型或類型成員的徹底程度。

6、Visual Studio 和 JetBrains Rider 中的覆蓋范圍突出顯示

為了可視化覆蓋率數(shù)據(jù),dotCover 可以在代碼編輯器中突出顯示代碼行??梢赃x擇在突出顯示標(biāo)記和彩色背景之間切換或顯示兩者。

請注意,突出顯示不僅顯示覆蓋和未覆蓋的代碼,還顯示覆蓋單元測試的結(jié)果。綠色表示測試通過,而紅色表示至少一項覆蓋該語句的測試失敗?;疑@示未覆蓋的代碼。

7、導(dǎo)航至覆蓋測試

dotCover 提供了一個命令(和鍵盤快捷鍵)來檢測哪些測試覆蓋了代碼中的特定位置,無論是類、方法還是屬性。

您可以從 Visual Studio 文本編輯器或 dotCover 的覆蓋率樹視圖調(diào)用該命令。

您可以從列出覆蓋測試的彈出窗口導(dǎo)航到任何這些測試。此外,您可以立即運(yùn)行它們或添加到現(xiàn)有的單元測試會話中。

8、熱點視圖

熱點視圖旨在幫助您識別解決方案中風(fēng)險最大的方法。熱點是根據(jù)方法的高圈復(fù)雜度和低單元測試覆蓋率來計算的。

9、覆蓋過濾器

有時,您不想了解整個解決方案的覆蓋數(shù)據(jù)。例如,您可能對標(biāo)記為 的代碼 ObsoleteAttribute或特定遺留項目的覆蓋率統(tǒng)計數(shù)據(jù)不感興趣。

在這種情況下,您可以根據(jù)項目、命名空間、類型或類型成員名稱設(shè)置全局或特定于解決方案的覆蓋過濾器。屬性過濾器還可以將收集覆蓋信息限制為標(biāo)記(或未標(biāo)記)某些屬性的代碼。

10、從覆蓋樹中排除節(jié)點

作為預(yù)先設(shè)置的過濾器或應(yīng)用于打開的任何解決方案的過濾器的替代方案,您可以在使用項目時從覆蓋率結(jié)果中排除項目。

當(dāng)您已經(jīng)收集了覆蓋率數(shù)據(jù)時,您可以選擇從覆蓋率樹中排除特定節(jié)點(并可選擇創(chuàng)建永久覆蓋率過濾器)。一旦您執(zhí)行此操作,dotCover 將立即重新計算覆蓋率統(tǒng)計數(shù)據(jù)。

11、多種報告格式

dotCover 可幫助您按照您需要的方式處理覆蓋率數(shù)據(jù)。

導(dǎo)出為多種格式(包括 HTML、XML、JSON 和 NDepend 的 XML)使您能夠與團(tuán)隊的其他成員共享覆蓋率報告或?qū)⒏采w率信息傳遞給外部服務(wù)。

12、手動測試的代碼覆蓋率

作為單元測試覆蓋率的替代方案,dotCover 可以對從 Visual Studio 執(zhí)行的 .NET 應(yīng)用程序運(yùn)行覆蓋率分析。

這使得 QA 工程師能夠執(zhí)行用例場景并檢查在此用例期間實際執(zhí)行的代碼部分。保存和合并覆蓋率快照支持執(zhí)行重要的測試用例。

13、覆蓋率分析作為持續(xù)集成的一部分

dotCover 非常適合持續(xù)集成服務(wù)器,其中最著名的是 JetBrains 自己的產(chǎn)品TeamCity。

首先,通過 Visual Studio 的 TeamCity 插件,dotCover 能夠從 TeamCity 服務(wù)器獲取覆蓋率數(shù)據(jù),而無需在本地計算機(jī)上運(yùn)行覆蓋率分析。

另一方面,dotCover 覆蓋率分析引擎捆綁到免費版本的 TeamCity 中,這有助于安排覆蓋率運(yùn)行作為持續(xù)集成流程的一部分并生成服務(wù)器端覆蓋率報告。TeamCity 了解 dotCover 控制臺運(yùn)行程序的輸出,并在構(gòu)建日志中突出顯示其錯誤和警告。

軟件優(yōu)勢

1、覆蓋突出顯示

dotCover可以為您提供方便的代碼覆蓋。您可以在Visual Studio中查看特定coverage會話中涵蓋和未覆蓋的突出顯示的語句。

2、連續(xù)覆蓋分析

dotCover提供了一個用于Continuous Integration服務(wù)器的控制臺實用程序。此外,TeamCity內(nèi)置了一個免費的服務(wù)器端版dotCover 。

3、過濾和排除節(jié)點

使用覆蓋過濾器自定義覆蓋率分析。從coverage快照中排除特定項目時,dotCover會立即重新計算coverage統(tǒng)計信息。

4、導(dǎo)航到覆蓋測試

使用快捷方式檢測哪些單元測試覆蓋特定語句:彈出窗口Visual Studio將顯示覆蓋測試列表,并允許您導(dǎo)航到其中任何一個。

更新日志

v2024.2.5版本 

dotCover 2024.2.5新版本亮點包括更多代碼覆蓋高亮顯示選項,連續(xù)測試可以更快獲得單元測試反饋,以及對 Visual Studio/JetBrains Rider 和 .NET Core 的支持。

收起介紹展開介紹

同廠商

JetBrains更多+
  • 下載地址
dotCover 2024官方版 v2024.2.5

有問題? 點此報錯

發(fā)表評論

0條評論