lundi 25 mai 2015

Unit test Class in MVC

I have following class in my project

public class Data()
{
  var user =  HttpContext.User.Identity.Name;
} 

It is showing null reference exception

I did below for Controller

[TestMethod]
public void Test()
 {
      var fakeHttpContext = new Mock<HttpContextBase>();
        var fake = new GenericIdentity("user");
        var prin = new GenericPrincipal(fakeIdentity, null);

        fakeHttpContext.Setup(t => t.User).Returns(prin);

        var controllerContext = new Mock<ControllerContext>();
        controllerContext.Setup(t => t.HttpContext).Returns(fakeHttpContext.Object);

        //Set your controller ControllerContext with fake context
        _requestController.ControllerContext = controllerContext.Object;
  }

It works nicely for Controller, but not for class as Class does not have ControllerContext . Any help?

Aucun commentaire:

Enregistrer un commentaire