【发布时间】:2015-08-17 05:36:41
【问题描述】:
我有一个像这样的 ActionResult:
public ActionResult AddDoc(StudentModel studentModel)
{
var student = _studentHelper.GetStudent(studentModel, true);
_updateStudentManager.UpsertStudent(student);
return Json(new { result = true });
}
测试方法:
[TestMethod]
public void Calling_AddDoc_Returns_JsonResult()
{
var studentModel = new StudentModel()
{
Name = "Jon",
Id = "1"
};
var studentToAdd = new Student()
{
StudentId = "1",
Name = "Jon",
Course = "SomeCourse"
};
_studentHelper.Setup(x => x.GetStudent(studentModel, false)).Returns(studentToAdd);
var res = _controller.AddDoc(studentModel) as JsonResult;
Assert.AreEqual("{ result = True }", res.Data.ToString());
}
GetStudent() 只是将传入的对象映射到一个新的 Student 实例并返回它。
测试失败并出现“System.NullReferenceException”
调试TestMethod显示这一行
var student = _studentHelper.GetStudent(studentModel, true);
即使我尝试单步执行该方法,控制器也根本没有执行。
“学生”对象为空。
我做错了什么?
提前致谢。
【问题讨论】: