单元测试asp.net MVC中的Mock错误

时间:2017-02-28 12:22:29

标签: c# asp.net-mvc unit-testing mocking

我正在做一个单元测试项目来测试控制器中的读取方法。我试图模拟存储库,但我遇到了问题。

有一个App Repository包含所有存储库。和另一个用户存储库:

var repositoriesMock = new Mock<IAppRepositories>();
var userMock = new Mock<UserRepository> ();
repositoriesMock.SetupGet(x => x.Users).Returns(
                    partnerMock.Object
                );

userMock.SetupGet(x => x.GetUserDto(false, 1) ).Returns(
                    new List<GeschaeftspartnerDto> {user1, user2}.AsQueryable()
                );

在控制器中:

public ActionResult Read([DataSourceRequest] DataSourceRequest request)
{
    var list = this.AppRepositories.Users.GetUserDto(false, 1).ToList();

}

但是我在uerMock.SetupGet

中收到错误
  

表达式不是属性访问权限:x =&gt; x.GetUserDto(False,1)

发生了什么事?为什么我会收到此错误?

1 个答案:

答案 0 :(得分:1)

尝试使用Mock.Setup而不是Mock.SetupGet。