4

我有一些标记为 的测试[Ignore],但现在,我想再次运行它们,因此我删除了该[Ignore]属性,但 Visual Studio 仍将它们视为已忽略。

我该怎么做才能清除缓存以不再忽略测试?

更新:

看起来这些数据存储在 vsmdi 文件中:

<TestLink ... name="MethodName" ... enabled="false" />

所以删除 vsdmi 文件,或者以其他方式导致它被重新生成是必要的。

但是,Visual Studio 会缓存它,因此重新启动 Visual Studio 似乎可以解决问题(有时至少)。

4

4 回答 4

2

您是否尝试过清洁解决方案(在构建菜单中)?另外我会尝试从测试项目中删除 bin/obj 文件夹。如果这不起作用,我会寻找可能是某种缓存或与测试项目相关的其他(二进制)文件,然后删除它们。我无法想象很难找到这些文件并删除它们(确保你有备份,以防万一)。

编辑 显然是 .vsmdi 文件。
EDIT2 显然不是:P

如果我遇到这样的问题,我什至可能已经进行了文件搜索,以查找已被 [忽略] 的特定方法名称。确保您使用的工具可以查看每个文件的“内部”,Windows 文件搜索会忽略一堆文件。

于 2012-07-17T20:31:34.880 回答
2

我工作的地方也有这个问题。

您可以手动更改 .vsmdi 文件或将其删除。如果再次打开测试视图(删除后),它将生成一个新文件。

此外,您选择的测试设置可能会出现同样的问题。它也会“缓存”它。

于 2012-07-17T20:32:32.547 回答
1

即使这个话题很老了,我想为这个问题添加我的解决方案,对于任何有同样问题的人......

我最近也遇到了这个问题,并在 .vsmdi 文件中找到了解决方案。在“测试设置”下,“单元测试”在“要加载的程序集的根文件夹中引用了一个文件夹: ”并选中了“使用测试目录中程序集的加载上下文”复选框。

我取消选中该复选框,之后,我的测试确实运行成功!(我知道旧程序集所在的“根文件夹...”中提到的文件。您还可以从“根文件夹...”中的文件夹中删除文件,以确保删除旧程序集。

于 2013-10-03T13:10:26.600 回答
0

我使用的是 Visual Studio 2012,没有 .vsdmi 文件,但遇到了问题。我可以通过删除 .suo (隐藏在 .sln 文件旁边的文件)文件并重新启动 Visual Studio 来解决这个问题。我知道它说没有重新启动,但提供的解决方案对我不起作用,所以我提供了一个替代方案,以防其他人遇到同样的错误。

于 2014-02-13T16:14:08.027 回答