3

コールバック関数を介して設定しているプロパティを持つ模擬 DTO クラスがあります。これは以下で機能しますが、よりクリーンな方法はありますか?

            Mock<MyDto> _MyDto = new Mock<MyDto>();

            _MyDto.Setup(dto => dto).Callback<MyDto>(dto => 
            {   
                dto.FirstName = "John";
                dto.LastName = "Doe";
            });

可能であれば呼び出しでこれらのプロパティを設定したいのですが、式を受け入れ、そこで複数行のステートメントを実行できません。Setupしかし、私の Linq の知識は百科事典ではありません。

4

2 に答える 2

3

プロパティの Moq クイックスタート ガイドによると、代わりに次のようにコードを変更できます。

_MyDto.SetupProperty(dto => dto.FirstName, "John");
_MyDto.SetupProperty(dto => dto.LastName, "Doe");

私はまだ Moq を自分で使用する機会がありませんでしたが、これは Moq でプロパティをモックする方法のようです。

于 2012-12-01T07:04:02.680 に答える
2

Setup()その方法が何のためにあるのか誤解していると思います。すべての初期化コードで一度だけ呼び出す必要はありません。代わりに、設定する個々のアイテムごとに1回呼び出します。

于 2012-12-01T12:38:19.247 に答える