【问题标题】:Unit-Test fails when run via VS Test Explorer but pass via Resharper通过 VS 测试资源管理器运行但通过 Resharper 时单元测试失败
【发布时间】:2019-02-01 05:45:10
【问题描述】:

我在 NUnit 中有一个从 CLI 代码调用递归 C++ 函数的单元测试。

单位

[Test]
public void MyTest()
{
    bool result = new MyClass().RecursiveFunction();
    Assert.True(result);
}

如前所述,RecursiveFunction() 是一个 CLI 函数,它只是调用 C++ 递归函数。

当我从 Resharper 的测试资源管理器运行它时,单元测试通过了,但是,当我尝试从 Visual Studio 测试资源管理器运行它时,它由于StackOverflowException 而失败。在这两种情况下,我都使用 x64 构建和运行配置,并且在这两种情况下,我都不使用卷影副本。

【问题讨论】:

    标签: visual-studio unit-testing nunit resharper vs-unit-testing-framework


    【解决方案1】:

    我们遇到了完全相同的问题,
    如果您使用的是团队城市并且您的 nunit 版本是 2.6.4 我们将 nunit 版本升级到 3.9,
    请注意 nunit 更改了 API,升级可能需要几个小时,
    而且 nunit-console 和 nunit 框架的库结构也发生了变化。
    一旦我们将它升级到新的 Nunit 版本,它就解决了这个问题。

    我发现这个问题在团队城市论坛中得到了解决,我升级了 nunit 并且成功了。

    【讨论】:

    • 更新到最新版本,好像解决了问题。谢谢!
    【解决方案2】:

    您是否检查过 VS Studio 中的测试资源管理器是否在 x64 上?

    【讨论】:

      猜你喜欢
      • 2017-07-29
      • 1970-01-01
      • 2017-10-12
      • 1970-01-01
      • 2013-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多