2008-08-26 17 views
1

ben değişken vb alanların sayısı ve 20+ parametrelerle bir yönteme cazip değil uyarlamak zorunda ummak gibiBindingHelperExtensions.UpdateFrom'u kullanan ASP.NET MVC eylem yöntemlerini birim test etmenin en iyi yolu? Bir form yazı işlerken

public ActionResult Insert() 
    { 
     Order order = new Order(); 
     BindingHelperExtensions.UpdateFrom(order, this.Request.Form); 

     this.orderService.Save(order); 

     return this.RedirectToAction("Details", new { id = order.ID }); 
    } 

gibi bir şey ben yönteminde kesin parametreler kullanılarak değilim sahip .

Burada tek seçeneğimin, Rob Conery'nin yaptıklarına eşdeğer olan tüm HttpRequest'i olduğu varsayılır. Bu en iyi uygulama mı? Çok yeni bir çerçeve ile anlatmak zor. Eğer

[SomeFilter] 
public Insert(Contact contact) 

cevap

1

Şimdi ModelBinder kullanıyorum yani benim eylem yöntemi gibi (temelde) bakabileceğini:

public ActionResult Insert(Contact contact) 
    { 

     if (this.ViewData.ModelState.IsValid) 
     { 
      this.contactService.SaveContact(contact); 

      return this.RedirectToAction("Details", new { id = contact.ID }); 
     } 
     else 
     { 
      return this.RedirectToAction("Create"); 
     } 
    } 
0

gibi bir şey için yukarıdaki yöntem imzası dönüşümü bir arayüzde sarın ve onu alay böylece

Ben de bir ActionFilter kullanarak içeren çözümler gördüm.

İlgili konular