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


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

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


当前回答

这对我来说很简单——包含测试方法的类必须是公共的。:)

其他回答

我在Visual Studio 2019上也遇到了同样的问题。只要安装以下NuGet包,问题就解决了。

1)。xUnit

2). xunit.runner.visualstudio

3). Microsoft.TestPlatform.TestHost

4). Microsoft.NET.Test.Sdk

在我的案例中,我在同一个解决方案中有多个测试项目,只有一个项目没有显示“测试资源管理器”

我通过右键单击解决方案进入“管理解决方案的Nuget包”。

我注意到在“巩固”标签下有一些“测试”的nuget包在项目之间不同步。我点击“安装”,丢失的测试就出现了。

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

以下是截图:

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

我整个下午都在和一个ASP Core项目和xUnit 2.2.0做斗争。我的解决方案是添加对Microsoft.DotNet.InternalAbstractions的引用

当我试图用dotnet测试手动运行测试项目时,我发现了这一点,该测试失败了,但报告了InternalAbstractions缺失。当自动发现失败时,我在测试输出窗口中没有看到这个错误。我在发现窗口中看到的唯一信息是一个返回码,当时对我来说没有任何意义,但事后看来可能是一个错误。