3

我最近按照文档在 Visual Studio 上安装了 XUnit 和 XUnit VS 运行器(即 xunit.runner.visualstudio)。安装过程使用 NuGet,完成后我可以在 MS 测试资源管理器中成功查看所有测试。

但是,如果我开始一个新的解决方案并引用所有必需的 XUnit dll,即我想使用 XUnit 而不使用 NuGet 来安装它,则测试永远不会出现在 MS 测试资源管理器中(在 ReSharper 测试资源管理器中看到它们没有问题) .

我认为这与 Visual Studio 用于查找 XUnit 测试的 XUnit 测试适配器有关。似乎 NuGet 以某种方式指示 Visual StudioVisualStudioTestExplorerExtensions在每次构建时创建文件夹,将必要的 XUnit 测试适配器 dll(例如xunit.runner.visualstudio.testadapter.dll)放在该文件夹中。然后 MS 测试资源管理器使用此测试适配器来查找 XUnit 测试(请参阅SO Question)。

当我尝试在没有 NuGet 的情况下使用 XUnit 时,该VisualStudioTestExplorerExtensions文件夹永远不会在构建时创建。手动添加包含所有 XUnit dll 的文件夹也不起作用。就好像我需要指示 Visual Studio 查看该文件夹,但我看不到任何明显的方法。

如何在不使用 NuGet 的情况下使用/安装 XUnit?或者,我如何让 VS 在查找测试时查看“VisualStudioTestExplorerExtensions”?

4

1 回答 1

2

如果要手动安装测试运行器,请将所有必要的 dll 复制到:

C:\Program Files (x86)\Microsoft Visual Studio {version}\Common7\IDE\CommonExtensions\Microsoft\TestWindow\Extensions

换成{version}合适的号码。

这里的缺点是这是机器范围的(在您的情况下可能需要),并且您不能很容易地在构建服务器上复制此设置。每当您对这些文件进行更改时,您可能还必须重新启动 VS。

于 2016-02-26T15:01:12.593 回答