次の方法で共有


MSTEST0040: 'async void' コンテキスト内でアサートしない

プロパティ [値]
ルール ID MSTEST0040
タイトル 'async void' コンテキスト内でアサートしない
カテゴリ 使い方
修正が破壊的か非破壊的か なし
既定で有効 あり
既定の重要度 警告
導入されたバージョン 3.8.0
コード修正の有無 いいえ

原因

async void メソッド、ローカル関数、またはラムダでの任意のアサーション メソッドの使用。

規則の説明

async void コンテキストでスローされる例外は処理されません。 async void メソッドで失敗したアサーションは飲み込まれ、.NET Framework で VSTest を使用してもプロセスはクラッシュしません。 .NET では、microsoft.Testing.Platform または VSTest を使用すると、async void メソッドで失敗したアサーションによってプロセスがクラッシュする可能性があります。 例外をキャッチするカスタム SynchronizationContext が存在する場合、失敗したアサーションが暗黙的に飲み込まれる可能性があります。

違反の修正方法

async void でアサーションを使用しないようにコードをリファクタリングします。

どのようなときに警告を抑制するか

この規則による警告は抑制しないでください。