我最近在documentation之后在Visual Studio上安装了XUnit和XUnit VS runner(即xunit.runner.visualstudio)。安装过程使用NuGet,完成后我可以在MS Test Explorer中成功查看所有测试。
但是,如果我启动一个新的解决方案并引用所有必需的XUnit dll,即我想使用XUnit而不使用NuGet来安装它,那么测试永远不会出现在MS Test Explorer中(在ReSharper中看到它们没有问题)测试资源管理器。)
我认为这与Visual Studio用于查找XUnit测试的XUnit测试适配器有关。似乎NuGet以某种方式指示Visual Studio在每个构建上创建VisualStudioTestExplorerExtensions
文件夹,将必要的XUnit测试适配器dll(例如xunit.runner.visualstudio.testadapter.dll
)放在该文件夹中。然后,MS Test Explorer使用此测试适配器查找XUnit测试(请参阅SO Question)。
当我尝试在没有NuGet的情况下使用XUnit时,永远不会在构建时创建VisualStudioTestExplorerExtensions
文件夹。手动添加所有XUnit dll的文件夹也不起作用。这几乎就像我需要指示Visual Studio查看该文件夹一样,但我看不出任何明显的方法。
如何在不使用NuGet的情况下使用/安装XUnit?或者,在寻找测试时,如何让VS查看“VisualStudioTestExplorerExtensions”?
答案 0 :(得分:2)
如果您想手动安装测试运行器,请将所有必需的dll复制到:
def stripoutVowels(str: String) = for (ch <- str if(isVowel(ch))) yield ch
用适当的号码替换C:\Program Files (x86)\Microsoft Visual Studio {version}\Common7\IDE\CommonExtensions\Microsoft\TestWindow\Extensions
。
这里的缺点是这是机器范围的(在您的情况下可能是可取的),并且您无法在构建服务器上轻松复制此设置。每当您对这些文件进行更改时,您也可能必须重新启动VS。