You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NUnit命令行执行报错及VS2019代码覆盖率选项位置咨询

解决NUnit控制台运行测试错误及Visual Studio 2019代码覆盖率选项问题

一、修复NUnit控制台运行测试的InvalidCastException错误

你遇到的这个错误,大概率是因为NUnit Console 3.11.1版本和你的.NET Core 3.1测试项目不兼容导致的。System.Web.UI.ICallbackEventHandler是.NET Framework中的类型,而你的测试项目基于.NET Core,旧版本的NUnit Console在处理.NET Core项目时可能会出现这类跨框架的类型转换问题。这里有两个解决方案:

方案1:使用dotnet test命令运行测试(推荐)

.NET Core项目更适合用官方的dotnet CLI工具来执行测试,兼容性更好。执行以下命令即可:

dotnet test "G:\LiveProjects\NUnitTestProject2\NUnitTestProject2\bin\Debug\netcoreapp3.1\NUnitTestProject2.dll"

这个命令会自动识别项目的框架版本,调用对应的测试运行器,避免版本兼容问题。

方案2:更新NUnit Console到兼容.NET Core 3.1的版本

如果你坚持要用nunit3-console.exe,需要把它更新到3.12.0及以上版本(NUnit从3.12版本开始完善了对.NET Core 3.x的支持)。你可以通过NuGet包管理器或者直接下载最新版本的控制台工具,替换掉旧版本后再重新执行原命令。

二、找到Visual Studio 2019中的代码覆盖率选项

你可以按照以下步骤操作:

  • 打开Visual Studio 2019,切换到测试资源管理器(如果没显示,可以通过顶部菜单测试 > 测试资源管理器打开)
  • 针对所有测试:点击测试资源管理器顶部"运行所有测试"按钮旁边的下拉箭头,选择运行所有测试并查看代码覆盖率
  • 针对单个测试:右键点击你要测试的用例(比如Test1),在弹出菜单中选择运行测试并查看代码覆盖率

如果找不到这个选项,可能是你没安装对应的组件:

  1. 打开Visual Studio Installer,点击"修改"当前的VS安装
  2. 切换到"单个组件"标签,在搜索框输入"代码覆盖率",勾选对应的"代码覆盖率工具"组件
  3. 点击"修改"完成安装,重启VS后就能看到该选项了

内容的提问来源于stack exchange,提问作者Piyusha Naphade

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.09 17:22:30