Asp.net mvc MVC单元测试-System.NullReferenceException
我在MVC中有以下代码,试图编写单元测试,但在运行单元测试时,出现了一个错误-System.NullRefresentException:Object引用未设置为对象的实例 请帮忙Asp.net mvc MVC单元测试-System.NullReferenceException,asp.net-mvc,unit-testing,Asp.net Mvc,Unit Testing,我在MVC中有以下代码,试图编写单元测试,但在运行单元测试时,出现了一个错误-System.NullRefresentException:Object引用未设置为对象的实例 请帮忙 namespace Stores.Controllers { public class HomeController : Controller { public ActionResult Home() { // calling sql queries
namespace Stores.Controllers
{
public class HomeController : Controller
{
public ActionResult Home()
{
// calling sql queries here
return View(model);
}
}
}
*单元测试:
namespace Stores_UTest
{
[TestClass]
public class HomeTest
{
[TestMethod]
public void HomeTest1()
{
HomeController h = new HomeController();
ViewResult v = h.Home() as ViewResult;
Assert.AreEqual("Home", v.ViewName);
}
}
}
据我所知,你不能就这样叫控制器。您需要使用赝品或模拟来模拟控制器上下文。您的代码可能在内部得到null ref,因为它需要您尚未模拟的所有类型的上下文。您的代码甚至没有编译。您的主对象引用了一个不存在的模型对象。Erik-该模型已定义。这只是一个示例和一些语句-我想知道如何从单元测试调用控制器。据我所知,您调用的所有内容都是正确的。您可能只想测试v是否为ViewResult类型,而不是查看名称。我进行的快速测试表明,在这个场景中,名称是作为一个空字符串出现的,而不是“Home”