Just add a reference to moq.dll from your project and create few methods like below inside your controllerTest class.
public Mock
{
var mock = new Mock
mock.Setup(p => p.HttpContext.Session["personName"]).Returns("personName");
mock.Setup(p => p.HttpContext.Session["id"]).Returns("id");
return mock;
}
HomeController CreateHomeController()
{
return new HomeController();
}
HomeController CreateHomeController As()
{
var controller = CreateHomeController();
controller.ControllerContext = CreateMockControllerContext().Object;
return controller;
}
Now inside your Test method implement the controller mock like this.
[TestMethod]
public void TestSearchJobsWithGivenPersonNameOnly()
{
// Arrange
HomeController controller = new HomeController();
controller = CreateHomeControllerAs();
// Act
var result = controller.SearchJobs() as ViewResult;
// Assert
Assert.AreEqual(5, controller.ViewData["RecordCount"]);
}
0 comments:
Post a Comment