dotnet核心:无法运行单元测试

时间:2017-05-26 00:29:48

标签: c# .net .net-core xunit.net

我正在使用dotnet核心开发应用程序。 当我尝试运行单元测试时,收到以下消息:

The active test run was aborted. Reason: Unable to communicate with test host process.

我已经检查了我的.csproj文件,我已经卸载并再次安装dotnet核心,尝试重建项目,尝试再次恢复包,搜索代码错误,但我不知道发生了什么。

我正在使用Ubuntu 16.04。

此处提供了面临此问题的项目:https://github.com/andremteixeira/Personal-Accounting

1 个答案:

答案 0 :(得分:5)

您已经创建了一个堆栈溢出异常,但遗憾的是它完全崩溃了测试主机进程..

问题是:

  1. 任何操作员都被称为
  2. 这会调用CheckNullity
  3. CheckNullity进行了a == null比较
  4. 这会调用自定义bool operator == (Money a, Money b)
  5. 转发到bool IsEquivalent(Money a, Money b)
  6. 检查a != null
  7. 调用自定义运算符bool operator != (Money a, Money b)
  8. 检查a == null
  9. 再次登陆
  10. 如果我替换

    if (a == null || b == null)
    

    if (Object.ReferenceEquals(a, null) || Object.ReferenceEquals(b, null))
    

    CheckNullity中它会打破周期并且所有测试都会运行。