当 运行 通过 VS 测试资源管理器但通过 Resharper 通过时,单元测试失败
Unit-Test fails when run via VS Test Explorer but pass via Resharper
我在 NUnit 中有一个单元测试,它从 CLI 代码调用递归 C++ 函数。
单位
[Test]
public void MyTest()
{
bool result = new MyClass().RecursiveFunction();
Assert.True(result);
}
如前所述,RecursiveFunction()
是一个 CLI 函数,它只是调用一个 C++ 递归函数。
当我从 Resharper 的测试资源管理器中 运行 单元测试通过时,但是,当我尝试从 Visual Studio 测试资源管理器中 运行 它时,由于 WhosebugException
.在这两种情况下,我都使用 x64 构建和 运行 配置,并且在这两种情况下,我都没有使用卷影副本。
您是否检查过 VS Studio 中的测试资源管理器是否在 x64 上?
我们遇到了完全相同的问题,
如果您使用的是 team city 并且您的 nunit 版本是 2.6.4
我们将 nunit 版本升级到 3.9,
请注意 nunit 更改了 API 并且升级可能需要几个小时,
以及 nunit 控制台和库的结构nunit 框架已更改。
一旦我们将它升级到新的 Nunit 版本,它就解决了这个问题。
我在 team city 论坛上发现这个问题已经解决了,我升级了 nunit 并且成功了。
我在 NUnit 中有一个单元测试,它从 CLI 代码调用递归 C++ 函数。
单位
[Test]
public void MyTest()
{
bool result = new MyClass().RecursiveFunction();
Assert.True(result);
}
如前所述,RecursiveFunction()
是一个 CLI 函数,它只是调用一个 C++ 递归函数。
当我从 Resharper 的测试资源管理器中 运行 单元测试通过时,但是,当我尝试从 Visual Studio 测试资源管理器中 运行 它时,由于 WhosebugException
.在这两种情况下,我都使用 x64 构建和 运行 配置,并且在这两种情况下,我都没有使用卷影副本。
您是否检查过 VS Studio 中的测试资源管理器是否在 x64 上?
我们遇到了完全相同的问题,
如果您使用的是 team city 并且您的 nunit 版本是 2.6.4
我们将 nunit 版本升级到 3.9,
请注意 nunit 更改了 API 并且升级可能需要几个小时,
以及 nunit 控制台和库的结构nunit 框架已更改。
一旦我们将它升级到新的 Nunit 版本,它就解决了这个问题。
我在 team city 论坛上发现这个问题已经解决了,我升级了 nunit 并且成功了。