2017-05-26 15 views
2

私はdotnetコアを使ってアプリケーションを開発しています。 私はユニットテストを実行しようとすると、私は、次のメッセージが表示されます。私はすでに復元しようとした、プロジェクトを再構築しようとした、私はuninstaledと再びDOTNETコアをinstaledている、私.csprojファイルをチェックしdotnet core:ユニットテストを実行できません

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

をパッケージを再検索し、コードエラーを検索しましたが、何が起こっているのかわかりません。

私はUbuntu 16.04を使用しています。

問題に直面しているプロジェクトがここにあります:https://github.com/andremteixeira/Personal-Accounting

答えて

6

あなたは、残念ながら完全にテストホストプロセスがクラッシュスタックオーバーフロー例外を作成しました。..

問題がある:

  1. 任意の演算子が呼び出されます
  2. この呼び出しはCheckNullity
  3. CheckNullityこれはa == null
  4. のチェックを持つカスタムオペレータbool operator != (Money a, Money b)
  5. を呼び出すa != null
  6. のチェックを持っているbool IsEquivalent(Money a, Money b)
  7. に転送したカスタムbool operator == (Money a, Money b)
  8. a == null比較
  9. を呼び出しています再び4になる。

私はCheckNullity

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

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

を交換する場合、それはサイクルを破壊し、すべてのテストを実行します。

+0

どのように把握しましたか? –

+2

'dotnet test -d diag.log'はスタックオーバーフロー例外を(悲しいことにスタックトレースなしで)出力したので、1つの原因となる可能性のある場所を探しました。 –

+0

wow。それは言語に多くの経験を積んだでしょう。ありがとうございました!ちょっとマーティン、 –

関連する問題