3

WinRT C#で構築されたWindowsストアアプリケーションでの単体テストにxUnitを使用しています。テスト対象のコードには、待機中の非同期メソッドの呼び出しがあります。問題は、失敗する場合と成功する場合があることです。私の推測では、待機中のコードの一部の継続は、キャプチャされたものとは異なる同期コンテキストで実行され、その後、Task待機されていないコールチェーンのどこかにあります。しかし、そのような場所は見つかりません。どうすればバグの理由を見つけることができますか?

4

1 に答える 1

2

単体テストがasync Taskの代わりであることを確認してくださいasync voidasync void単体テストはxUnit ではまだサポートされていません。

async void単体テストで例外が発生した場合、誤って成功する可能性がある競合状態があります(詳細については、私のブログ投稿へのリンク。MSTest について説明していますが、xUnit にも同じ状況が存在します)。

于 2012-11-04T14:46:32.310 に答える