最近我开始了解基于nuget的适配器/转轮(http://xunit.github.io/docs/running-tests-in-vs.html)
我试图了解Visual Studio如何识别这些运行程序/适配器,然后由TestWindow使用。
例如,如果我安装“xunit.runner.visualstudio”nuget包,我的项目中的所有基于xUnit的测试都会被发现并显示在测试窗口中。
我试图了解VS如何使用packages文件夹中安装的软件包挂钩Test Discovery?
基于VS和nuget的适配器在何处/如何被挂钩?
我试着找到这些信息,但我的谷歌fu失败了我。 :(
我检查了问题的答案(Custom test adapter installed via NuGet isn't discovering tests),它确实说VS将软件包复制到路径%TEMP%\ VisualStudioTestExplorerExtensions,但这就是它。
答案 0 :(得分:5)
由于这涉及很多VS如何在内部工作,我认为你不会得到一个完全确定的答案。但是,为了解决你链接的问题,我看了一堆反汇编的代码,所以我有一个很好的主意。以下是它的工作原理:
所以,据我所知,这是一个非常简单的基于反射的插件架构。希望有所帮助。