我使用的是Visual Studio 2013,安装了FsUnit 2.2.0,它需要NUnit 3.2.1和FSharpCore 3.1。我创建了一个单独的测试项目,并在那里放了一个testfixture和test。我的平台是x64 Win 10.配置适用于'AnyCPU'和'调试'。我已经尝试过x86和x64的测试设置。在尝试构建和创建测试时,我得到:
------ Discover test started ------
NUnit Adapter 3.2.0.0: Test discovery starting
Exception NUnit.Engine.NUnitEngineException, Exception thrown discovering tests in C:\Users\Dad\Documents\Visual Studio 2013\Projects\...
Cannot run tests in process - a 32 bit process is required.
Exception NUnit.Engine.NUnitEngineException, Exception thrown discovering tests in C:\Users\Dad\Documents\Visual Studio 2013\Projects\...
Cannot run tests in process - a 32 bit process is required.
NUnit Adapter 3.2.0.0: Test discovery complete
========== Discover test finished: 0 found (0:00:00.1230077) ==========
如果我将测试和目标项目的配置更改为' x86' (而不是AnyCPU)然后基础项目的错误就消失了,但测试项目也会发生同样的事情。
没有发现任何测试,请帮助......非常感谢!
答案 0 :(得分:4)
您需要从解决方案中删除nunit并使用“NUnit3TestAdapter”再次安装,版本3.0.10可以正常运行。
在添加/删除程序和解决方案中卸载任何NUnit软件。现在使用Nuget包管理器(工具> NuGet包管理器>管理解决方案的NuGet包...)删除解决方案中的任何NUnit并安装旧版本(例如3.0.1)。找到“NUnit3TestAdapter”并在3.0.10版本中安装。
答案 1 :(得分:2)
.NET Core 2.0
NUnit 3.9
项目Visual Studio 2017
TestExplorer
.NET Standard
项目问题同样存在.NET Core
。坚持了很长一段时间。其他相关问题中提出的解决方案均无效。
然后我从 this 链接中发现,目标Microsoft.NET.Test.Sdk
的类库不起作用。测试项目必须以.NET Core
为目标。此外,还需要NUnit
NuGet。
所以,步骤是
NUnitAdapter
Microsoft.NET.Test.Sdk
NuGet(我使用3.9)value=[]
for x in range(len(a)):
for xx in range(len(a[x])):
for xxx in range(len(b)):
if a[x][xx]==b[xxx]:
value.append("true")
else:
value.append("false")
for a in value:
if a=="true":
#it falls in the category
NuGet(我使用的是NUnit3Adapter).UseKestrel(o => { o.AddServerHeader = false; })
NuGet 重新构建,您的测试将显示在Visual Studio中的测试资源管理器中。
注意:已经将此答案添加到另一个.NET Core特定问题中。也在这里添加,因为解决方案在这种情况下也可能会有所帮助。
答案 2 :(得分:1)
NUnit 3.2.1中存在错误,其中TestEngine假定它无法运行需要在进程中执行32位的测试。该假设对于NUnit自己的跑步者始终有效,但不一定在某个其他程序启动该过程时有效。有关于此的问题。