SuperAPI AI 工具集

migrate-mstest-v3-to-v4

测试与质量

查看项目

更新于 10-16 00:32

技能介绍

用途:把测试项目从 MSTest v3 迁移到 v4,使项目在 v4 下构建通过、测试通过,并处理所有源码不兼容与行为变更。MSTest v4 与 v3 不二进制兼容,针对 v3 编译的库必须用 v4 重新编译。

适用:升级 MSTest、MSTest.TestFramework、MSTest.TestAdapter 或 MSTest.Sdk 从 3.x 到 4.x;修复升级后的构建错误;处理运行时行为差异;更新自定义 TestMethodAttribute 或 ConditionBaseAttribute。不适用:项目已用 v4 且构建正常;从 v1/v2 升级(先用 migrate-mstest-v1v2-to-v3);不使用 MSTest;跨框架迁移(如迁到 xUnit/NUnit)。

主要能力:先识别当前版本与目标框架,再更新包引用(如 MSTest 4.1.0、MSTest.Sdk/4.1.0),然后按清单修复源码破坏性改动,包括 Execute 改为 ExecuteAsync、TestMethodAttribute 的 CallerInfo 构造参数与 DisplayName 命名参数、移除 ClassCleanupBehavior、Properties 改用 ContainsKey、TestTimeout 改为 int.MaxValue、ManagedType 改为 FullyQualifiedTestClassName、Assert 消息重载与 ThrowsException 改名 ThrowsExactly/Throws、IsInstanceOfType 去掉 out 参数、移除 ExpectedExceptionAttribute、丢弃 net5.0–net7.0 等目标框架。行为变更包括 TestCase.Id 变化、生命周期作用域、TreatDiscoveryWarningsAsErrors 默认开启、AppDomain 默认禁用、MSTest.Sdk 默认 MTP 模式与 vstest.console 兼容问题、分析器严重级别提升。

使用方式:提供项目或解决方案路径(必需),构建与测试命令可选,未提供则自动检测。按评估项目、更新包、修复源码改动、处理行为变更的顺序推进,并在每个逻辑边界提交。

限制:资料未提供具体收费、价格、平台支持范围或效果数据;部分行为变更条目在资料中被截断,未完整给出。