【发布时间】:2013-08-15 15:41:25
【问题描述】:
我正在尝试学习单元测试,并且有这个超级简单的课程,带有单元测试:
public class HomeController : Controller
{
public ActionResult Index()
{
return View(new HomeViewModel
{
LogoUrl = this.Url.Content("~/Images/product.png")
});
}
}
[TestMethod]
public void Index()
{
Assert.IsNotNull(new HomeController().Index() as ViewResult);
}
我收到空引用异常。我相信这与在单元测试中使用 this.Url() 而没有 HttpContext 有关。
如何在仍然使用我的this.Url() 的同时让单元测试通过?我可以使用 Moq。 :)
【问题讨论】:
-
我确实做到了。我仍然得到一个空引用。如果不使用 Reflector(没有许可证),我看不到 this.Url 的工作原理(即看不到我需要模拟的确切内容)。
-
我环顾四周,发现了一些有趣的东西。看看这个要点:gist.github.com/johnnyreilly/4959924
-
乔丹,请提交您的 cmets 作为答案,我将标记为已接受。感谢您的帮助!
标签: c# asp.net-mvc unit-testing moq