gpt4 book ai didi

asp.net-core - .NET Core 2.0 的代码覆盖率

转载 作者:行者123 更新时间:2023-12-03 21:24:20 25 4
gpt4 key购买 nike

我正在尝试在我们的 上设置代码覆盖率ASP.NET 核心 2.0 Web应用程序。我用 dotcover (来自 JetBrains)为我的所有其他构建提供代码覆盖(通过在构建过程中从命令行运行 dotcover)。

当我从我们的 .NET Core 2.0 Web 应用程序的构建服务器运行 dotcover 时,我看到了这一点。

enter image description here

它指出它已成功运行,但只是卡在那里,并且没有创建代码覆盖率文件。

dotcover analyse /TargetExecutable:"C:\Program Files\dotnet\dotnet.exe" /TargetArguments:"test MyUnitTests.csproj" /Output:report.html /ReportType:HTML /LogFile=dotcover.log 

如果我尝试添加代码覆盖率集合,我会看到这一点。

enter image description here
dotcover analyse /TargetExecutable:"C:\Program Files\dotnet\dotnet.exe" /TargetArguments:"test MyUnitTests.csproj --collect:coverage" /Output:report.html /ReportType:HTML /LogFile=dotcover.log

最后,如果我运行 dotnet 测试 就其本身(没有 dotcover)而言,它似乎有效,但同样没有创建覆盖输出。

enter image description here
dotnet test "MyUnitTests.csproj" -- collect:coverage

我不确定如何为 .NET Core 2.0 应用程序生成代码覆盖率,也不确定如何/什么是数据收集器以及如何使用它们。 dotcover 是这个例子中的数据收集器吗?

基本上,我只想为 .NET Core 2.0 应用程序生成代码覆盖率。

更新:

根据建议,我安装了 Coverlet 作为 dotcover 的替代品。我已经让它工作了,但行为不一致。当我从服务器运行我的批处理文件时,一切都很好。

enter image description here

但是当从 TFS 运行时,我收到一个错误。

enter image description here

System.IO.FileNotFoundException: 没有可用的测试。确保测试项目具有包“Microsoft.NET.Test.Sdk”的 nuget 引用,并且框架版本设置适当,然后重试。

我的项目 有对该程序集的引用(当您创建单元测试项目时,VS 本身默认安装它)。

为什么 TFS 会提示该程序集确实存在并且可以从命令行手动运行而不会出错?

最佳答案

不知道dotcover能不能和net core一起使用,你可以看看coverlet ,你也可以在这里找到一个例子:Cross platform code coverage arrives for .NET Core

关于asp.net-core - .NET Core 2.0 的代码覆盖率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49426268/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com