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

dotnet core: can't run unit tests

我正在使用 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. 调用任何运算符
  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. 这又是 4.

如果我替换

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

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

CheckNullity 它打破了循环和所有测试 运行.