更新:增加2019年;发现/运行器集成机制与2017年和2015年相同,因此可能出错的关键问题是相同的。
我读过为什么xUnit运行者找不到我的测试,其中包括xUnit永远无法找到你的测试的原因,但我的问题是不同的-我相信我的测试没有微妙的事情发生;(他们在其他环境中工作,这似乎只是我的机器)- Visual Studio 2015[社区版]中的Visual Studio测试运行器根本不显示我的任何测试。我没有做任何令人兴奋的事情;测试的目标是桌面上的xUnit.net v2。
我已经看了输出窗口,并没有看到任何东西在测试下从选项卡显示输出。
这是对我们有效的解决方案。不是最好的,但也许能从中受益。
背景:
我们的脚本是用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适配器
现在显示测试。
我有测试项目A和B.在项目A中发现的测试,但发现从未停止B.我不得不手动杀死TestHost使停止。
我做了很多这篇文章描述的事情,甚至到了我不确定这是否是解决方案的地步。
现在它工作了,我所做的事情是打开解决方案,并没有测试资源管理器。相反,我只是检查输出窗口的测试,我可以看到发现过程结束,测试的数量等于A+B。在这之后,我打开测试资源管理器,然后A和B都出现了。
所以:
正确卸载和安装最新的xUnit。删除上面提到的%temp%,添加NuGet包" microsoft . testplatform . testthost "
添加NuGet包“Microsoft.NET.Test”。Sdk”,重新启动,但只检查测试输出。如果有效,你会看到的