You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Visual Studio 2019下MSTest动态数据生成器缓存异常及清理咨询

解决Visual Studio 2019 + MSTest v3.0.2动态测试数据缓存问题

一、MSTest相关缓存位置及清理步骤

直接清理以下位置的缓存文件/文件夹,强制刷新测试数据:

  • 项目本地缓存:手动删除测试项目根目录下的bin和obj文件夹,再执行一次清理解决方案操作。
  • VS用户级测试缓存:删除以下路径的内容(注意<随机字符>是VS安装生成的唯一标识,比如类似abc123def的字符串):
    • %LOCALAPPDATA%\Microsoft\VisualStudio\16.0_<随机字符>\TestStore:存储测试发现结果的核心缓存目录
    • %LOCALAPPDATA%\Microsoft\VisualStudio\16.0_<随机字符>\ComponentModelCache:组件模型缓存,可能干扰测试发现逻辑
    • %TEMP%\VisualStudioTestExplorerExtensions:测试资源管理器扩展的临时缓存
  • NuGet包缓存:删除%USERPROFILE%\.nuget\packages\mstest.testadapter和%USERPROFILE%\.nuget\packages\mstest.testframework下对应v3.0.2版本的文件夹,之后重新还原NuGet包。

二、强制刷新测试发现的额外操作

做完缓存清理后,执行这些操作确保测试资源管理器重新识别测试用例:

  • 在Test Explorer界面,点击「重新运行所有测试」旁的下拉箭头,选择「清理测试运行」
  • 打开Visual Studio 2019的开发者命令提示符,执行命令强制重新发现测试:
    vstest.console.exe /InIsolation /UseVsixExtensions:true <你的测试项目路径>\bin\Debug\YourTestProject.dll
    
  • 右键测试项目,选择「卸载项目」,之后再右键选择「重新加载项目」

三、针对[DynamicData]生成器的补充排查

如果上述操作后仍存在断点不命中或新增用例不显示的问题,检查:

  • 确认[DynamicData]标记的生成器方法是public static修饰的,返回类型为IEnumerable<object[]>或兼容的可枚举类型
  • 在生成器方法开头添加一行无意义代码(比如var temp = 0;),重新编译后触发VS重新识别该方法

内容的提问来源于stack exchange,提问作者AlainD

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 11:57:26