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


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

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


当前回答

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

其他回答

当我在VS 2017中用IntelliTest第一次尝试走路时,我就遇到了这种情况。

有时,当测试项目由IntelliTest自动创建时,程序集对Microsoft的引用。ExtendedReflection(…\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\Extensions\Microsoft\Pex\Microsoft. extendereflect .dll)丢失。 添加后,重新编译后生成的测试将显示在测试资源管理器中。

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

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

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

1)。xUnit

2). xunit.runner.visualstudio

3). Microsoft.TestPlatform.TestHost

4). Microsoft.NET.Test.Sdk

我希望我的回答对你们中的一些人有所帮助: 在大多数情况下,当我的单元测试没有被发现时,我必须将测试类访问修饰符更改为public。当添加一个新类(Shift+Alt+C)时,默认的访问修饰符是内部的,大多数时候我忘记更改它。

右键单击Test项目并选择Properties。 将目标框架属性从1.1更改为其他(我使用3.1),所有内容都将运行为1.1不再覆盖:P