これをどのように行うのか疑問に思っていましたか?
メッセージボックスがポップアップするたびに「OK」をクリックするのは非常に面倒です。
これをどのように行うのか疑問に思っていましたか?
メッセージボックスがポップアップするたびに「OK」をクリックするのは非常に面倒です。
理想的には、メッセージ ボックスを依存関係として設定して、単体テスト中にモック/スタブ/偽造できるようにします。次のようになります。
public interface IMessageBox
{
Show(...);
}
もちろん、MessageBox ラッパー クラスにインターフェイスを実装する必要があります。DI の詳細: http://en.wikipedia.org/wiki/Dependency_injection
今すぐこの方法でアプリケーションを再設計できない場合は、このアプローチを試すことができます。
理想的には、テストはビジネス ロジックをテストすることになります。私は通常、MessageBox を UI ではなく UI コンポーネントと見なします。これには、エラー/例外/検証がユーザー通知とは無関係に発生するように、プログラム フローを変更する必要があります。プロパティ セットの例外ではなく、IDataErrorInfo に依存する IE。
それを避けることができず、メッセージボックスをラップして DI でモックを使用するルートに進みたくない場合Public Shared Property RunSilent As Boolean = False
は、アプリケーションでシングルトン変数を設定する手法を使用して、アプリケーションが想定されていることを示しました。サイレントで実行し、メッセージボックスを呼び出す前にそのプロパティをチェックして、サイレントで実行していない場合にのみボックスを表示します。次に、単体テストのセットアップで、silent フラグを true に設定します。理想的ではありませんが、効果的です。