SuperAPI AI 工具集

running-tests

测试与质量

查看项目

更新于 10-15 21:12

技能介绍

用途:本技能提供在 dotnet/winforms 仓库中运行测试的操作说明,覆盖单元测试、集成/功能测试以及单个或过滤后的测试。

主要能力:仓库使用 xUnit v3 与 Microsoft.Testing.Platform,测试项目编译为自包含可执行文件,而非旧版 VSTest 适配器,因此 dotnet test --filter 与 vstest.console.exe 不适用。

使用方式:运行全部单元测试用 .\build.cmd -test,Release 配置加 -configuration Release;全部集成/功能测试用 .\build.cmd -integrationTest,功能测试会自动开关窗口,运行期间不要操作桌面。单项目测试在完整构建后进入测试项目目录执行 dotnet test,例如 pushd src\test\unit\System.Windows.Forms 后 dotnet test。单个或过滤测试推荐直接调用 artifacts\bin 下的测试可执行文件,使用 --filter-method、--filter-class、--filter-namespace、--filter-trait 及 --filter-not-* 等选项,支持 * 通配符,复杂过滤可用 --filter-query。也可在 dotnet test 后用 -- 分隔符传递这些选项。

适用场景:需要按方法、类、命名空间或 trait 筛选测试,列出测试、失败即停、生成 TRX 或 HTML 报告,以及在 Visual Studio 中通过 Test Explorer 运行和调试测试。

限制:测试可执行文件面向 .NET 预览版运行时,需系统安装对应运行时或将 DOTNET_ROOT 指向仓库本地 .dotnet 目录;可执行文件路径中的 TFM 会随 .NET 主版本变化。dotnet test --filter 可能报告 Zero tests ran 并返回退出码 5,属预期行为。vstest.console.exe 与 dotnet vstest 无法运行这些测试程序集。剪贴板、拖放等测试需放入 [Collection("Sequential")] 以避免并行问题。