更新:增加2019年;发现/运行器集成机制与2017年和2015年相同,因此可能出错的关键问题是相同的。


我读过为什么xUnit运行者找不到我的测试,其中包括xUnit永远无法找到你的测试的原因,但我的问题是不同的-我相信我的测试没有微妙的事情发生;(他们在其他环境中工作,这似乎只是我的机器)- Visual Studio 2015[社区版]中的Visual Studio测试运行器根本不显示我的任何测试。我没有做任何令人兴奋的事情;测试的目标是桌面上的xUnit.net v2。

我已经看了输出窗口,并没有看到任何东西在测试下从选项卡显示输出。


当前回答

在我的例子中,我创建了一个新的“解决方案配置”,如图所示。所以当我选择我的自定义为“Prod”时,由于某些原因它不识别testmethods。更改回“Debug”可以解决问题

其他回答

在我的案例中,原因是项目调试器和测试运行器之间的目标构建不相同。统一这些元素:

Test>测试设置>默认处理器架构。然后选择X64或X86。 项目>(您的项目)属性>构建(选项卡)>平台目标。

在它们完全相同之后,重新构建您的解决方案,然后测试方法将为您出现。

两天之后…以上这些方法对我都没用。唯一的“解决方案”是: 进入项目属性->构建选项卡。然后单击窗格右下角的“高级”按钮。将“Debug Info:”修改为“full”,单击“OK”。

以下是截图:

我尝试了上面的大部分建议,但都没用。以我为例,我在一个团队中,为其他开发人员提供相同解决方案的测试。所以,我试图删除我的。vs文件夹,但运气也不好。

我最终完全删除了我的本地文件夹,并重新克隆了repo。这为我解决了问题。

上述解决方案都不适合我(dotnetcore 1.1, VS2017)。下面是解决方法:

添加NuGet包microsoft . testplatform . testthost 添加NuGet 包Microsoft.NET.Test.Sdk

这些是我之前安装的这些包的补充:

xunit (2.3.0-beta1-build3642) xunit.runner.visualstudio (2.3.0-beta1-build1309)

遇到类似的问题,VS没有发现测试方法。在我的情况下,我有静态关键字的方法,我删除了它,它工作。

[TestMethod]

Before: public static void Test1()

After: public void Test1()