0
CustomerController.cs: -Asp.net MVC测试
public ActionResult Details(int id)
{
CustomerDataContext cs = new CustomerDataContext();
var query = cs.Customers.Where(m => m.CustId == id).Select(m => m);
Customer cust = new Customer();
foreach (var q in query)
{
cust.CustId = q.CustId;
cust.Name = q.Name;
cust.Salary = q.Salary;
cust.JoiningDate = q.JoiningDate;
}
return View("Details",cust);
}
CustomerControllerTest.cs: -
[TestMethod]
public void TestDetailsViewData()
{
CustomerController controller = new CustomerController();
var result = controller.Details(5) as ViewResult;
Customer cust = result.ViewData.Model as Customer;
Assert.AreEqual(5,cust.CustId);
}
我的测试失败,我收到以下错误消息话题: 试验方法MvcApplication1.Tests。 Controllers.CustomerControllerTest.TestDetailsViewData引发异常: System.NullReferenceException:未将对象引用设置为对象的实例。
当您使用调试程序遍历代码时会发生什么?哪一行抛出异常? – Amy
我认为它无法使用CustomerDataContext ....是否可以测试上下文? –
问题解决了!这是datacontext问题。我没有在我的测试项目中的连接字符串。现在它的工作。 –