1

私は現在、System.Net.Http を参照する pcl の単体テストを行っています。WP8 単体テストは正常に実行されますが、Windows ストアの単体テストは "_httpClient.GetAsync(path).Result;" でクラッシュします。例外「TaskCanceledException」があります。

Windowsストアの通常のアプリからpclから関数を呼び出すと、正常に動作します! そして、はい、必要な機能「インターネット」が設定されています。

単体テスト コードを再利用したいので、両方のプラットフォームで 2 回記述する必要はありません。誰かが同様の問題を抱えていたり、何が起こっているのか知っていますか?

また、単体テストを実行するために Windows ストア用の通常のアプリを取得しようとしてもうまくいかないようです。すべてのテストがクラッシュし、「Windows ストア アプリの単体テスト エグゼキューターをアクティブ化できませんでした」というメッセージが表示されます。

前もって感謝します!

4

1 に答える 1

1

まあ、それは簡単なものでした。通常のコードでは実行されますが、単体テストは UI スレッドで実行されません。そのため、 .Result を使用すると、ui スレッドが ui スレッドで待機していたデッドロックが作成されました。非常にばかげたエラー:/

于 2013-12-12T16:32:29.037 に答える