SuperAPI AI 工具集

platform-detection

测试与质量

查看项目

更新于 10-16 00:05

技能介绍

用途:判断 .NET 项目实际执行测试的平台(VSTest 或 MTP)、所用测试框架(MSTest、xUnit、NUnit、TUnit)、dotnet test 命令模式,以及项目是 SDK 风格还是经典非 SDK 项目。

主要能力:按用户要求的标签与顺序给出结论,先给判定,再用一句证据说明依据的仓库事实;框架需指出标识它的包或项目 SDK。平台指真正执行测试的平台;配置冲突或不完整时报告为不可用,而非臆造成功平台。不得仅凭 global.json 的 test.runner 判定执行平台,需继续检查项目 runner、桥接与输出形态信号。

使用方式:文件类请求需一次性批量读取 global.json、.csproj、packages.config、Directory.Build.props、Directory.Build.targets、Directory.Packages.props 及显式导入的 .props/.targets。按实际 MSBuild 导入顺序与条件解析属性,记录 UseVSTest、框架 runner 选择器、TestingPlatformDotnetTestSupport、OutputType 的最终值及胜出来源。不得从包存在推断属性。

判定顺序:最终 UseVSTest=true 选 VSTest;global.json 原生 MTP 选择需兼容 MTP 应用且 OutputType=Exe;SDK 8/9 上启用 MTP runner 且 TestingPlatformDotnetTestSupport=true 且 OutputType=Exe 才在 MTP 执行;runner 启用但桥接缺失或为 false 时仍留在 VSTest。runner 属性选择测试应用,TestingPlatformDotnetTestSupport 是桥接前提,OutputType=Exe 提供可执行宿主形态。

适用场景:识别测试平台与框架、按目标框架区分平台、显式退出 MTP、dotnet test 模式判断。

限制:只读识别请求禁止执行时不得探测已安装 SDK;条件属性需按目标框架分别评估;配置不完整或冲突时报告不可用。