特定のメソッド(ユニット)が正しいロジックを実行していることを確認するための最良の方法を探しています。
この場合、次のような方法があります。
public void GoToMyPage()
{
DispatcherHelper.BeginInvoke(() =>
{
navigationService.Navigate("mypage.xaml", "id", id);
});
}
はnavigationService
、インターフェースの注入されたモックバージョンですINavigationService
。ここで、ユニットテストで検証したいと思いNavigate(...)
ます。これは、正しいパラメーターで呼び出されます。
ただし、Windows Phoneでは、モックフレームワークが動的プロキシを作成して通話を分析できる場合、ILの放出はある程度サポートされていません。そのため、これを手動で分析する必要があります。
簡単な解決策は、メソッドで呼び出された値をパブリックプロパティに保存し、Navigate(...)
単体テストでそれらをチェックすることです。ただし、これは、さまざまな種類のモックや方法すべてに対して行う必要があるのはかなり面倒です。
だから私の質問は、リフレクションベースのプロキシを使用せず、デバッグ情報を手動で保存することなく、C#機能(デリゲートなど)を使用して分析呼び出しを作成するよりスマートな方法はありますか?