2

我正在使用 Visual Studio 2013,安装了 FsUnit 2.2.0,它需要 NUnit 3.2.1 和 FSharpCore 3.1。我创建了一个单独的测试项目,并在其中放置了一个测试装置和测试。我的平台是 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),那么基本项目的错误就会消失,但测试项目也会发生同样的事情。

没有发现任何测试,请帮助...非常感谢!

4

3 回答 3

4

您需要从解决方案中删除 nunit 并使用“NUnit3TestAdapter”重新安装,版本 3.0.10 有效。

在添加/删除程序和您的解决方案中卸载任何 NUnit 软件。现在使用 Nuget 包管理器(工具 > NuGet 包管理器 > 为解决方案管理 NuGet 包...)删除解决方案中的任何 NUnit 并安装旧版本(例如 3.0.1)。找到“NUnit3TestAdapter”并安装到 3.0.10 版本。

于 2016-06-06T10:05:34.517 回答
2

我的.NET Core 2.0项目NUnit 3.9在 in 中遇到了同样的问题,Visual Studio 2017并且测试没有出现在TestExplorer. 被这个卡住了很长一段时间。其他相关问题中建议的解决方案均无效。

然后我从这个链接中发现带有目标的类库.NET Standard不起作用。测试项目必须针对.NET Core. 此外,Microsoft.NET.Test.Sdk还需要 NuGet。

所以,步骤是

  1. 确保测试项目的目标.NET Core
  2. 安装最新NUnit的 NuGet(我用的是 3.9)
  3. 安装对应NUnitAdapter的NuGet(我用的是NUnit3Adapter)
  4. 安装Microsoft.NET.Test.SdkNuGet

重新构建,您的测试将出现在 Visual Studio的测试资源管理器中。


注意:已将此答案添加到另一个 .NET Core 特定问题。也在这里添加,因为该解决方案在这种情况下也可能会有所帮助。

于 2018-01-04T17:42:43.707 回答
1

NUnit 3.2.1 中有一个错误,TestEngine 假定它无法运行需要 32 位执行的测试。该假设对于 NUnit 自己的运行程序始终有效,但在进程由其他程序启动时不一定有效。有一个关于此的问题。

于 2016-06-05T03:52:51.440 回答