Visual studio 2013 Visual Studio FsUnit测试设置-异常NUnit.Engine.nunitEngineeException
我使用的是Visual Studio 2013,安装了FsUnit 2.2.0,它需要NUnit 3.2.1和FSharpCore 3.1。我创建了一个单独的测试项目,并在其中放置了一个测试夹具和测试。我的平台是x64赢10。该配置用于“AnyCPU”和“Debug”。我尝试了x86和x64的测试设置。当尝试构建和创建测试时,我得到:Visual studio 2013 Visual Studio FsUnit测试设置-异常NUnit.Engine.nunitEngineeException,visual-studio-2013,nunit,fsunit,Visual Studio 2013,Nunit,Fsunit,我使用的是Visual Studio 2013,安装了FsUnit 2.2.0,它需要NUnit 3.2.1和FSharpCore 3.1。我创建了一个单独的测试项目,并在其中放置了一个测试夹具和测试。我的平台是x64赢10。该配置用于“AnyCPU”和“Debug”。我尝试了x86和x64的测试设置。当尝试构建和创建测试时,我得到: ------ Discover test started ------ NUnit Adapter 3.2.0.0: Test discovery startin
------ 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),那么基本项目的错误就会消失,但测试项目也会发生同样的情况
没有发现任何测试,请帮助。。。非常感谢 NUnit 3.2.1中有一个错误,测试引擎假设它无法运行需要32位执行的测试。这个假设对于NUnit自己的跑步者来说总是有效的,但当这个过程由其他程序启动时,不一定有效。这方面存在一个问题。您需要从解决方案中删除nunit,然后使用3.0.10版的“NUnit3TestAdapter”重新安装
卸载添加/删除程序和解决方案中的任何NUnit软件。现在使用Nuget软件包管理器(工具>Nuget软件包管理器>管理解决方案的Nuget软件包…)删除解决方案中的任何NUnit并安装较旧版本(例如3.0.1)。查找“NUnit3TestAdapter”并在3.0.10版中安装。我在
Visual Studio 2017
中的NUnit 3.9
项目中的NET Core 2.0
遇到了相同的问题,并且测试没有显示在TestExplorer
中。我被这件事困扰了很长一段时间。其他相关问题中提出的解决方案均无效
然后,我从链接中发现,使用target.NET Standard
的类库不起作用。测试项目的目标必须是.NET Core
。此外,还需要Microsoft.NET.Test.Sdk
numget
因此,步骤是
.NET Core
NUnit
NuGet(我使用的是3.9)NUnitAdapter
NuGet(我使用了NUnit3Adapter)Microsoft.NET.Test.Sdk
NuGet注意:已将此答案添加到另一个.NET核心特定问题。在此处添加,因为解决方案在这种情况下也可能有帮助。我可以降级到更早的NUnit版本吗?或者你有什么建议作为解决办法?我试图降级到多个其他版本,但仍然没有解决问题。成功了吗?你不需要降级你的NUnit版本,因为适配器包含它自己的引擎版本,并且在任何情况下都会使用它。如果这仍然是一个问题,只需返回到3.0适配器(3.0.10)。例如,对于不使用VS适配器的控制台运行,您可以继续使用NUnit 3.2.1。3.0.1引擎(嵌入3.0.10适配器中)应该能够处理引用3.2.1框架的测试。当然,如果您只使用适配器在Visual Studio中工作,那么按照另一个答案中的建议回滚所有内容可能更有意义。同时,谢谢,您认为新NUnit何时可以使用此修复程序?不确定我是否可以在VS 2013中回滚。。。我需要nuget v3能够发出-version选项,但是nuget CTP1预览扩展似乎不再可用()。我想安装FsUnit v2.0.0,它使用NUnit 3.0,但我不知道如何安装。没关系,它可以再次发现单元测试,但当我尝试“运行所有”时,我得到相同的错误…我必须指定CPU,从x86到任何CPU。由于某种原因,当我的Visual studio许可证需要更新时,它更改为x86。由于VS 2013中的nuget没有版本选择,我所做的是下载适当的nuget版本文件(.nuget),为它们设置本地nuget源以导入它们。我使用的是FSUnit2.0.0;NUnit 3.0.1;适用于VS2012至2015版本3.0.8-ctp-8的Nunit 3.0测试适配器[确保允许安装“包括预发布”]