SuperAPI AI 工具集

vstest-build-test

测试与质量

查看项目

更新于 10-16 00:32

技能介绍

用途:为 microsoft/vstest 仓库提供构建、测试与改动验证的标准化流程,覆盖构建、单元测试、冒烟测试、集成/验收测试及本地手动验证。

环境准备:构建前先确认 .dotnet 工具链与当前操作系统匹配;仓库会把自身 .NET SDK 引导到 .dotnet/ 目录。检测到不匹配(如 Linux/macOS 下只有 dotnet.exe,或 Windows 下只有 dotnet)时,需清理 .dotnet、.packages 和 artifacts 以重新引导。

主要命令:Windows 用 ./build.cmd、./restore.cmd、./test.cmd;Linux/macOS 用 ./build.sh、./restore.sh、./test.sh。完整构建推荐 ./build.cmd -pack 或 ./build.sh --pack,产物位于 artifacts/packages/Debug/Shipping/。单一项目可用 --projects/-project 指定 csproj,但存在大量传递依赖的项目(如 HtmlLogger)不适用,应使用 -pack/--pack。

测试:默认运行单元测试。测试类别开关由 eng/build.ps1 处理,而非 -projects 值:-smokeTest、-integrationTest、-performanceTest、-compatibilityTest;smoke 与 integration 互斥。Linux/macOS 的 test.sh 只有 --integrationTest 和 --performanceTest。按名称筛选:Windows 用 -filter;Linux/macOS 需通过 MSBuild 属性传 --filter,并加单引号。

本地运行注意:测试程序集针对仓库预览 TFM 构建,apphost 从 DOTNET_ROOT 解析运行时。test.sh 会自动设置 DOTNET_ROOT,test.cmd 不会,需手动设置 $env:DOTNET_ROOT = "$PWD.dotnet",必要时还设 DOTNET_ROOT(x86) 与 DOTNET_MULTILEVEL_LOOKUP。

手动验证:构建后解压 Microsoft.TestPlatform.<version>-dev.nupkg,用本地 vstest.console 针对测试项目运行;也可直接用 artifacts 下的产物路径。

限制与排错:test 脚本不执行还原,需先构建或加 -restore -build;若提示缺少 .NET 4.6 targeting pack,需从微软下载安装;诊断与调试可参考 docs/diagnose.md 或在进程入口添加 Debugger.Launch。资料未提供收费、价格等信息。