If you’re unit testing and make a call to UpdateModel, you get the case where your object doesn’t get updated. Say your controller has an Edit Post action similar to: [AcceptVerbs(HttpVerbs.Post)] public ActionResult Edit(Customer customer) { Customer _customer = repository.GetByKey(customer.CustomerKey); UpdateModel(_customer); repository.Save(); return RedirectToAction( "Index" ); } Now you might think that the call to UpdateModel will use your the object you passed in. Wrong! It wants the form values that get passed as part of the post request. So if you’re unit testing and using MVC fakes, you need to pass in some form values. Customer customer = new Customer() { CustomerKey = 1234, CustomerName = "ABC Siding" , Address = "1 Main" , City = "Springfield" , State = "IL" , ZipCode = "62701" , FirstName = "Fred" , LastName = "Jones" , Phone...