1

我正在尝试通过 NuGet 安装自定义测试适配器,但似乎 VS 无法识别它。我查看了 Microsoft.VisualStudio.TestWindow.VsAdapters.UnitTestExtensionDiscoverer 中的代码,所以我意识到 dll 必须以 *.TestAdapter.dll 结尾。当我指定 /TestAdapterPath 时,使用该名称可以让 vstest.console 为我工作,所以我不确定为什么 VS2013 测试窗口没有显示我的测试。

通过将相关文件复制到 C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\Extensions 安装适配器时,适配器确实可以工作。

VS2013 加载我的测试适配器是否需要遵循任何其他路径或文件名约定?没有任何日志记录或错误消息,我真的不确定如何收集更多信息来调试它。

4

1 回答 1

0

问题似乎是我试图通过覆盖包目录中的 dll 来进行调试。这不起作用,因为 VS 将您的包目录复制到以下内容:

%TEMP%\VisualStudioTestExplorerExtensions\My.TestAdapter.1.0.0.23

本质上是用版本号来缓存它。如果将文件复制到项目包目录中,VS 不会复制它,因为文件夹编号没有改变。因此,要更新您的扩展,您必须继续发布 NuGet 包。

至少我是这么理解的。

编辑:我还注意到,当您通过 NuGet 升级测试适配器时,它不会开始使用新版本,直到您重新启动 VS 或终止 vstest。*

于 2014-03-19T18:04:27.620 回答