Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2013 Visual Studio FsUnit测试设置-异常NUnit.Engine.nunitEngineeException_Visual Studio 2013_Nunit_Fsunit - Fatal编程技术网

Visual studio 2013 Visual Studio FsUnit测试设置-异常NUnit.Engine.nunitEngineeException

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

我使用的是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 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
  • 重新生成,您的测试将显示在Visual Studio的测试资源管理器中



    注意:已将此答案添加到另一个.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测试适配器[确保允许安装“包括预发布”]