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


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

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


当前回答

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

[TestMethod]

Before: public static void Test1()

After: public void Test1()

其他回答

请确保您没有在. net标准2.0类库中编写单元测试。在撰写本文时,visualstudio运行程序不支持在netstandard2.0类库中运行测试。

检查这里测试运行器兼容性矩阵:

https://xunit.net

还要检查测试项目中是否有一个完全空白的app.config文件(完全空白,没有任何标记)。这就是我的罪魁祸首。

我的解决方案中有许多不同类型的项目,我无法运行Xunit测试项目。我卸载了除Xunit项目之外的所有测试,然后重新构建解决方案,测试出现在visual studio中,我可以运行它们。

很长一段时间以来,我一直被这个问题困扰着。

我有大约100个不同版本的项目部署在不同的服务器上。 将xunit从2.2.0更新到2.3.1并不是一个解决方案,因为在2.3.1中构建失败。

然后我把xunit.runner.visualstudio更新到2.3.1,一切都开始正常工作了。 我已经在包管理器控制台中使用了这个命令来更新xunit.runner.visualstudio包

Get-Project ComapanyName.ProjectName.*.Tests | Install-Package xunit.runner.visualstudio -Version 2.3.1

打开输出->测试并查看错误是什么。在我的例子中,我有这样的错误消息:

The framework 'Microsoft.AspNetCore.App', version '5.0.0' (x64) was not found.

在安装。net SDK 5.0后,测试立即生效:https://dotnet.microsoft.com/download/dotnet/thank-you/sdk-5.0.402-windows-x64-installer