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


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

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


当前回答

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

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

其他回答

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

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

https://xunit.net

在将测试项目的CPU更改为x64后,我不得不更改测试设置。 然后测试再次检测。

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

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

这是对我们有效的解决方案。不是最好的,但也许能从中受益。

背景:

我们的脚本是用VS 2013开发的,使用NUnit VS Adapter 2.1.. 最近我们迁移到VS 2017,当打开相同的解决方案时,测试将不会在测试资源管理器中显示

在构建时,我们会看到这样的消息:

[Informational] NUnit Adapter 3.10.0.21: Test discovery starting
[Informational] Assembly contains no NUnit 3.0 tests: C:\ihealautomatedTests\SeleniumTest\bin\x86\Debug\SeleniumTest.dll
[Informational] NUnit Adapter 3.10.0.21: Test discovery complete

解决方案(临时):

卸载NUnit Adapter 3.10 安装NUnit VS适配器

现在显示测试。

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

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