私はテストしているクラスで2つのリポジトリメソッド呼び出しを模擬(スタブ?)する必要のあるユニットテストメソッドを持っています。今まで私が試したすべての例では、Mockの設定方法が1つ示されていますが、今は2つ必要です。Moqの設定を1つの方法で2回呼び出す方法はありますか?
例:この例では
_employeeRepositoryMock.Setup(e => e.GetEmployees())
.Returns(new Employee[]
{
new Employee
{
Name = "John Doe"
}
});
_employeeRepositoryMock.Setup(e => e.UpdateEmployee(1)).Returns(true);
Assert.IsTrue(_employeeService.UpdateEmployeeRecords() > 0);
_employeeRepositoryMock.Verify(gr => gr.UpdateEmployee(1), Times.Exactly(1));
私は両方の「UpdateEmployeeRecords()」で呼ばれる2つのリポジトリ方法を模擬する必要があるが、私はどのようにわかりません。
更新
スクラッチこの全体の問題 - 私はシンプルなものを見落とし。 UpdateEmployeeの数値が間違っていたため、Assertが失敗しました。私はそれを渡す代わりに、模擬のパラメータをIt.IsAnyに変更しました。
申し訳ありませんが、私の例を非常に一般的なものにすることで、あなたの答えは翻訳で失われました。上記の私の編集をご覧ください。私のアサートが失敗し、2回目のセットアップコールが原因であると思われます。 – Mike