Je suis en train de tester une unité action d'édition sur mon contrôleur dans ASP.NET MVC 3.Mvcontrib.MVC3.Testhelper UpdateModel NullReferenceExceuption pendant l'unité de test
J'ai installé Mvcontrib.MVC3.TestHelper via NuGet pour se moquer de mon contrôleur contexte, mais je reçois toujours un NullReferenceException
mon code ressemble à ceci:
[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());
}
code de production ressemble à ceci ...
[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);
}
Et même si je l'utilise UpdateModel ou TryUpdateModel il se bloque alwas avec un NullReferenceException ...
Toute aide, pointers serait fantastique ...
Merci pour votre aide dans mon cas, il était ValueProvider qui t hrows l'exception et controller.ValueProvider = new FormCollection(); a fait l'affaire pour ce test ... Merci pour le pointeur –
Je cherchais depuis un moment maintenant. ValueProvider était la clé! – Dann