【发布时间】:2015-02-19 11:36:40
【问题描述】:
我正在尝试为控制器编写单元测试以测试方法返回所有用户。但我很困惑如何使用 automapper 编写单元测试
控制器:
private readonly IUserService _userService;
public UserController(IUserService userService)
{
this._userService = userService;
}
public ActionResult List()
{
var users = _userService.GetAllUsers().ToList();
var viewModel = Mapper.Map<List<UserViewModel>>(users);
return View(viewModel);
}
控制器测试:
private Mock<IUserService> _userServiceMock;
UserController objUserController;
List<UserViewModel> listUser;
[SetUp]
public void Initialize()
{
_userServiceMock = new Mock<IUserService>();
objUserController = new UserController(_userServiceMock.Object);
listUser = new List<UserViewModel>()
{
new UserViewModel() {Id = 1, Active = true, Password = "123456", UserName = "hercules"},
new UserViewModel() {Id = 2, Active = false, Password = "1234567", UserName = "alibaba"},
new UserViewModel() {Id = 3, Active = true, Password = "12345678", UserName = "robinhood"},
};
}
[Test]
public void Index_Returns_AllUser()
{
// How do I here ???
}
【问题讨论】:
-
对于初学者来说,
_userService.GetAllUsers()实际返回的内容以及您打算如何处理listUser
标签: asp.net-mvc unit-testing nunit automapper