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


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

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


当前回答

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

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

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

其他回答

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

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

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

我可以为几天前遇到的一个边缘情况提供一个解决方案。这个解不可能满足上面描述的所有情况,但是,对于边缘情况,我把它修正了。

我在最新的VS 2017(版本15.5.7)和XUnit 2.3.1中也遇到了同样的问题。xunit.runner.visualstudio包已经安装,但是测试没有显示在VisualStudio的内置测试资源管理器中。

我当时在做一个遗留项目,目标是。net framework 4.5。但是,从版本2.2开始。XUnit不支持低于4.5.2的。net框架(参见发布说明- XUnit 2.2: 2017年2月19日)

将测试项目的目标框架更改为版本>= 4.5.2对我来说很有效。您不必更改正在测试的项目版本,只需更改测试项目本身即可。

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

免责声明:这不是关于visual studio 2015的xunit,而是visual studio 2017的UWP单元测试应用程序(MSTest)。我到这个线程搜索同样的东西,所以也许其他人会做同样的事情:)

我的解决方案是更新MSTest的nuget包。TestAdapter和mste . testframework。当你为UWP创建一个单元测试应用程序时,你似乎不会自动获得最新的版本。