0
私はプロトコルハンドラの辞書リストを期待する関数へのインターフェイスを渡し、次のコードを、持っている:私のインターフェイスでMoqの設定方法が欠けているのはなぜですか?
var _protocolHandlers = new Dictionary<EmailAccountType, IEmailTransportHandler>
{
{EmailAccountType.Pop3, new Mock<IEmailTransportHandler>().Object},
{EmailAccountType.IMAP, new Mock<IEmailTransportHandler>().Object}
};
奇妙なことは、次のコードは、上の私のセットアップ方法を与えないこと、しかしであります嘲笑対象:
_protocolHandlers[0].<where are set-up methods??>
は、これらがインタフェースを取るよう、サービスのコンストラクタに渡され、通常のインターフェイスを持つ規則に従っているようだが、彼らは.Object()を使用して注入します。
ここで何が起こっているのか誰かが気付いていますか?
こんにちは、ありがとう。 My _protocolHandlersはNUnit TextFixture :: Setup()でインスタンス化されます。私は各テスト内でセットアップを呼び出す必要があります(つまり、辞書オブジェクトのモックをセットアップします)。しかし、あなたの例から、これは遅すぎるように見えます...? – jaffa
@jaffa nunitでどのように動作するのか、私の答えを更新しました –
こんにちは、これは大変感謝しています!私は辞書に追加するために使用される元の参照を使用します。まだ私はこれをディクテーションから外すことができません。オブジェクト?私はペニーが落ちると確信しています;) – jaffa