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

如何从命令行运行C#测试项目?优先用MSBuild实现自动化

命令行自动化测试实现方案(优先MSBuild,无第三方包)

一、用MSBuild直接执行测试(无额外依赖)

如果你的项目是SDK风格.NET项目(.NET Core/.NET 5+,或升级后的.NET Framework项目),无需任何第三方包,直接通过MSBuild内置目标就能跑测试:

  1. 确保测试项目已引用官方测试框架(MSTest、xUnit、NUnit均可,这些都是微软官方/维护的工具,不算第三方包)
  2. 在命令行执行:
# 针对单个测试项目
msbuild YourTestProject.csproj /t:Test /p:Configuration=Release

# 针对整个解决方案
msbuild YourSolution.sln /t:Test /p:Configuration=Release

执行后,命令行会直接输出测试结果:包括总测试数、通过/失败数,以及失败用例的具体报错信息。

实用参数

  • /p:TestResultsDirectory=./TestResults:指定测试结果文件(.trx)的输出目录,方便后续查看详细报告
  • /p:Platform=x64:指定测试运行的平台架构

二、MSBuild方案失效时的替代:vstest.console.exe

如果MSBuild的Test目标无法兼容你的项目(比如传统非SDK风格.NET Framework项目),用Visual Studio自带的vstest.console.exe就行,这是官方命令行测试运行器,无需额外安装:

  1. 找到工具路径(根据你的VS版本/版本类型调整):
    示例路径(VS2022 Community 64位):C:\Program Files (x86)\Microsoft Visual Studio\2022\Community\Common7\IDE\Extensions\TestPlatform\vstest.console.exe
  2. 执行测试命令:
vstest.console.exe YourTestProject\bin\Release\YourTestAssembly.dll /Logger:Console

常用参数

  • /Logger:Console:强制在命令行输出实时测试结果
  • /ResultsDirectory:./TestResults:指定结果文件存储目录
  • /TestCaseFilter:"TestCategory=Integration":过滤执行指定分类的测试用例
  • /Parallel:启用并行测试,提升执行速度

三、避免第三方包的核心原则

  • 只使用微软官方生态内的工具:MSBuild、vstest.console.exe,以及官方维护的测试框架(MSTest、xUnit、NUnit)
  • 不要引入非官方的测试运行器、报告生成器等第三方依赖,保持项目依赖的官方性

内容的提问来源于stack exchange,提问作者Ádám Benk

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 15:10:03