特定のメソッド(ユニット)が正しいロジックを実行しているかどうかを検証する最善の方法を探しています。この場合モックフレームワークなしでメソッド呼び出しとパラメータを確認する
、Iは、同様の方法があります
public void GoToMyPage()
{
DispatcherHelper.BeginInvoke(() =>
{
navigationService.Navigate("mypage.xaml", "id", id);
});
}
をnavigationService
インターフェース、INavigationService
の注入モックバージョンです。今、ユニットテストで正しいパラメータでNavigate(...)
が呼び出されたことを確認したいと思います。
しかし、Windows Phone ILでは、発光しているフレームワークがダイナミックプロキシを作成してコールを分析できる程度では発光しません。そのため私はこれを手動で分析する必要があります。
簡単な解決策は、公開プロパティでNavigate(...)
メソッドで呼び出された値を保存し、単体テストでチェックすることです。しかし、これはむしろ、さまざまな種類のモックやメソッドのためにやらなくてはなりません。
私の質問は、リフレクションベースのプロキシを使用せずに、C#機能(代理人など)を使用して解析コールを作成し、デバッグ情報を手動で保存することなくスマートな方法があるかどうかです。
なぜパラメータを取得するためにリフレクションを使用したくないのですか? – Tigran
私が書いたように、Windows Phoneはリフレクションベースの動的プロキシの作成をサポートしていません。 –
あなたはEmitingについて言いましたが、私は実行時にデータを読み込むためのリフレクションの使用と、生成/注入しないことについて話しています。 – Tigran