テストする必要がある次のクラスがあります。
public ReportViewModel
{
public ReportViewModel()
{
using (var repository = new ExecutionDetailsReportRepository())
{
this._reportData= repository.GetExecutionDetailsReport(testManager.ExecutionDetail.ExecutionId);
}
}
}
コンストラクターは新しい ExecutionDetailsReportRepository を作成し、これをモックする必要があります
私のテストメソッドには、このようなモックセットアップがあります
var mockExecutionDetailsReportRepository = new Mock<IExecutionDetailsReportRepository>(MockBehavior.Loose);
mockExecutionDetailsReportRepository.Setup(ed => ed.GetExecutionDetailsReport(null)).Returns((List<ExecutionDetailsReport> x) => x).Verifiable();
GetExecutionDetailsReport は int を取りますか? パラメータ型として。私は 0 または It.IsAny で設定しようとしましたが、それでも私のテストは、Mocked インスタンスを使用するのではなく、GetExecutionDetailsReport の新しい実際のインスタンスを作成することになります。
Mock Setup の何が問題なのかを理解するのを手伝ってください。Moq 4.0を使用しています