通过NuGet安装的自定义测试适配器没有发现测试

时间:2014-01-29 16:57:15

标签: c# visual-studio-extensions visual-studio-test-runner

我正在尝试通过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加载测试适配器的其他路径或文件名约定吗?没有任何记录或错误消息,我真的不知道如何收集更多信息来调试它。

1 个答案:

答案 0 :(得分:0)

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

%TEMP%\ VisualStudioTestExplorerExtensions \ My.TestAdapter.1.0.0.23

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

至少我是这样理解的。

编辑:我也注意到当你通过NuGet升级测试适配器时,在你重新启动VS或者杀死vstest之前它不会开始使用新版本。*