.NET Framework 4.7.2下dotnet test的替代方案及Altcover集成方法
.NET Framework 4.7.2下dotnet test的等效命令及Altcover集成步骤
一、dotnet test的等效命令
在.NET Framework环境中,替代dotnet test的核心工具是vstest.console.exe——这是Visual Studio自带的命令行测试运行器,默认路径如下:
- 32位系统:
C:\Program Files (x86)\Microsoft Visual Studio\<你的VS版本>\Community\Common7\IDE\Extensions\TestPlatform\vstest.console.exe - 64位系统:
C:\Program Files\Microsoft Visual Studio\<你的VS版本>\Community\Common7\IDE\Extensions\TestPlatform\vstest.console.exe
基础用法示例:
vstest.console.exe "YourTestProject\bin\Debug\YourTestProject.dll"
二、已安装NuGet版Altcover后的集成步骤
1. MSBuild自动注入(推荐)
直接修改测试项目的.csproj文件,添加以下配置,让Altcover在编译阶段自动完成覆盖代码注入:
<PropertyGroup> <!-- 开启Altcover覆盖收集 --> <AltCover>true</AltCover> <!-- 覆盖数据输出目录 --> <AltCoverOutput>$(OutputPath)coverage</AltCoverOutput> <!-- 最终报告路径 --> <AltCoverReport>$(OutputPath)coverage.xml</AltCoverReport> </PropertyGroup> <!-- 引入AltCover的MSBuild目标文件,替换版本为你安装的NuGet包版本 --> <Import Project="..\packages\AltCover.8.8.0\build\net472\AltCover.targets" Condition="Exists('..\packages\AltCover.8.8.0\build\net472\AltCover.targets')" />
配置完成后,重新生成测试项目,再用vstest.console.exe运行测试,覆盖数据会自动生成到指定路径。
2. 命令行手动执行流程
若不想修改项目文件,可通过AltCover命令行工具分步操作:
- 第一步:注入覆盖代码并指定数据收集路径
Altcover.exe -i "YourProject\bin\Debug" -o "YourProject\bin\Debug\coverage" -s "YourTestProject\bin\Debug"
参数说明:
-i:指定需要检测覆盖的目标程序集目录-o:覆盖数据的输出目录-s:测试程序集所在目录第二步:运行测试
vstest.console.exe "YourTestProject\bin\Debug\YourTestProject.dll"
- 第三步:生成可读报告
Altcover.exe report -i "YourProject\bin\Debug\coverage" -o "coverage-report.html"
关键注意事项
- 确保测试项目已通过NuGet安装
Altcover和Altcover.MSBuild两个包 - 优先使用Visual Studio自带的Developer Command Prompt执行命令,避免路径或环境变量问题
- 若出现权限报错,以管理员身份运行命令行窗口
内容的提问来源于stack exchange,提问作者Sid Prasad
相关产品推荐
相关产品推荐

