Microsoft 发布 MSTest 3.4 版本
Microsoft 发布了 .NET 测试框架 MSTest 的新版本 3.4。该版本包含多项改进、错误修复和新功能,主要更新涉及 MSTest.Analyzers、MSTest.Sdk 和 MSTest.Runner 的改进,并新增了对 WinUI 应用的支持。
主要更新内容
MSTest.Analyzers 改进:
- 新增了 九条新规则,旨在推广最佳实践并避免常见错误。
- 这些规则确保正确使用属性和断言,强制执行设计偏好,并提高代码的可读性和可维护性。
- 例如,MSTEST0017 规定了断言参数的顺序,而 MSTEST0019 和 MSTEST0020 则指导使用 TestInitialize 方法和构造函数进行初始化任务。
STA 线程支持:
- 新增了对 VSTest 和 MSTest.Runner 中 STA 线程的支持,便于在支持的框架中进行 UI 元素测试。
- 可以通过在 runsettings 文件中设置 <ExecutionThreadApartmentState>STA</ExecutionThreadApartmentState> 来启用 STA 线程支持。
- 未来计划允许特定测试或测试类在 STA 线程模式 下运行,并持续收集社区反馈。
Fixture 方法超时支持:
- 新增了对 AssemblyInitialize, AssemblyCleanup, ClassInitialize, ClassCleanup, TestInitialize, 和 TestCleanup 等 fixture 方法的超时支持。
- 这一功能使开发者能够更好地控制测试的执行。
MSTest.Sdk 更新:
- 更新了 MSTest 命名空间的全局使用,简化了测试编写过程。
- 用户不再需要在文件中添加 using Microsoft.VisualStudio.TestTools.UnitTesting。
Playwright 和 Aspire 测试简化:
- 通过添加 <EnablePlaywright>true</EnablePlaywright> 和 <EnableAspireTesting>true</EnableAspireTesting> 到项目设置中,简化了 Playwright 和 Aspire 的测试设置。
WinUI 测试支持:
- 新增了对 WinUI 测试的支持,并提供了 项目示例。
- 开发团队正在努力简化未打包应用的测试,并通过使用内置的 System.Text.Json 替代 Jsonite 以及缓存命令行选项来提升运行器的性能。
总结
MSTest 3.4 版本带来了多项改进和新功能,旨在提升测试框架的易用性和性能,并响应社区反馈。开发者可以通过 官方 GitHub 仓库 获取更多项目细节和更新信息。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。