Вкуривайте.
public UserController :Controller
{
private IUserRepository _userRepository;
public UserController( IUserRepository _userRepository)
{
this._userRepository = _userRepository;
}
public ViewResult GetUsers(int count)
{
var users = _userRepository.GetAll().Take(count);
return View(users);
}
}
[TestMethod]
public void GetFiveUsers()
{
//organization
Mock<IUserRepository> mock = new Mock<IUserRepository>();
mock.Setup(x=>x.Users).Returns(new List<Users>{
new User{ Id = Guid.NewGuid(),Name="User#1"},
new User{ Id = Guid.NewGuid(),Name="User#2"},
new User{ Id = Guid.NewGuid(),Name="User#3"},
new User{ Id = Guid.NewGuid(),Name="User#4"}
});
//action
UserController controller = new UserController(mock.Object);
IEnumerable<User> usersResult = (IEnumerable<User>)controller.GetUsers(3).Model;// return type action method: ViewResult
//assertion
List<Users> users = usersResult.ToList();
Assert.IsTrue(users.Count()==3);
Assert.AreEqual(users[0].Name, "User#1");
Assert.AreEqual(users[1].Name ,"User#2");
Assert.AreEqual(users[2].Name, "User#3");
}