Does anyone know why is it not possible to get the virtualpath when you are running the asp.net mvc unit test project? Is it because it creates a Temp folders under TestResults Folder.??
Where would it come from with no web server running?
You have to mock anything related to paths in your mock HttpContext, e.g.:
request.Expect(req => req.AppRelativeCurrentExecutionFilePath).Returns("~/");
response.Expect(res => res.ApplyAppPathModifier(It.IsAny<string>()))
.Returns((string virtualPath) => virtualPath);