简体   繁体   English

在单元测试asp.net MVC中模拟错误

[英]Error by Mock in Unit test asp.net MVC

I am doing a unit test project to test a read method in a controller. 我正在做一个单元测试项目,以测试控制器中的读取方法。 I am trying to mock the Repository but I am getting a problem. 我正在尝试模拟存储库,但是遇到了问题。

There is an App Repository which contains all the Repositories. 有一个包含所有存储库的应用程序存储库。 and another Repository for users: 和另一个用户存储库:

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()
                );

in the controller: 在控制器中:

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

}

but I am receiving an Error in uerMock.SetupGet 但我在uerMock.SetupGet中收到错误

Expression is not a property access: x => x.GetUserDto(False, 1) 表达式不是属性访问:x => x.GetUserDto(False,1)

what is going on? 到底是怎么回事? why am I getting this error? 为什么我会收到此错误?

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM