ладно, ребята, я новичок в MVC, и я пытаюсь учиться на уроке, который я сделал точно так же, как сказал, но он меня бросает
Метод тестирования TestProject1.UnitTest1.DisplayCustomer выбрал исключение: System.NullReferenceException: ссылка на объект не установлена в экземпляр объекта. когда я пытаюсь запустить единичный тест
Я следую учебнику отсюда http://www.codeproject.com/Articles/259560/Learn-MVC-Model-view-controller-Step-by-Step-in-7
Вот мои файлы:
Просмотр DisplayCustomer
Customer ID is : <%= Model.Id %>
Customer ID is : <%= Model.CustomerCode %>
<% if (Model.Amount >100) {%>
This is a Previlaged Customer
<%} else { %>
This is a Normal Customer
<% } %>
Заполнить вид клиента:
<form action="DisplayCustomer" method = "post">
Customer ID : <input type="text" name="CustomerId" /></br>
Customer Code : <input type="text" name="CustomerCode" /></br>
Customer Amount : <input type="text" name="CustomerAmount" /></br>
<input type="submit" value="Click Here"/></br>
</form>
Модель клиента:
public class Customer
{
public int Id { set; get; }
public string CustomerCode { set; get; }
public double Amount { set; get; }
}
CustomerController
public class CustomerController : Controller
{
//
// GET: /Customer/
public ActionResult Index()
{
return View();
}
public ActionResult FillCustomer()
{
return View();
}
public ActionResult DisplayCustomer()
{
Customer objCustomer = new Customer();
objCustomer.Id = 10;
objCustomer.CustomerCode = "Sparkz";
objCustomer.Amount = 10.55;
var myview = View(objCustomer);
return myview;
}
}
Мой тестовый файл (UnitTest1.cs): Здесь я пробовал оба кода прокомментировал один и тот, который я написал ниже, но не работаю. Он всегда выбирает нуль в var customerViewViewResult/varresult
[TestClass]
public class UnitTest1
{
[TestMethod]
public void DisplayCustomer()
{
//CustomerController obj = new CustomerController();
//var varresult = obj.DisplayCustomer() as ViewResult;
//Assert.AreEqual("DisplayCustomer", varresult.ViewName);
CustomerController controller = new CustomerController();
var customer = new Customer();
var customerViewActionResult = controller.DisplayCustomer();
var customerViewViewResult = customerViewActionResult as ViewResult;
Assert.AreEqual("DisplayCustomer", customerViewViewResult.ViewName);
}
}
Я следую учебнику отсюда
В учебнике возвращаемый тип DisplayCustomer
- ViewResult
, а не ActionResult
// As stated in the tutorial
public ViewResult DisplayCustomer()
{
...
}