Я пытаюсь выполнить модульное тестирование действия редактирования на моем контроллере в ASP.NET MVC 3.
Я установил Mvcontrib.MVC3.TestHelper через nuget, чтобы смоделировать контекст моего контроллера, но я все еще получаюNullReferenceException
мой код выглядит так:
[TestMethod]
public void it_should_redirect_to_index_after_editing_a_something_successfully()
{
var something= new SomeThing
{
ID = Guid.NewGuid(),
CreatedAt = DateTime.Now,
LastModified = DateTime.Now,
Owner = "Me",
Status = "new",
Title = "my Title",
Attachments = new List<Attachment>()
};
var repo = new FakeRepository();
var controller = new SomethingsController(repo);
new TestControllerBuilder().InitializeController(controller);
var result = controller.Edit(something) as RedirectToRouteResult;
result.AssertActionRedirect().ToAction<SomethingsController>(x => x.Index());
}
Рабочий код выглядит следующим образом ...
[HttpPost]
public ActionResult Edit(SomeThing something)
{
if (ModelState.IsValid)
{
var _something = _repository.GetDocumentByID(something.ID);
TryUpdateModel(_something);
_something.LastModified = DateTime.Now;
_repository.SaveChanges();
return RedirectToAction("Index","Somethings");
}
return View(something);
}
И даже если я использую UpdateModel или TryUpdateModel, он всегда падаетс NullReferenceException ...
Любая помощь, указатели были бы фантастическими ...