2008-08-26 5 views
1

私はなどの分野の可変数に適応した予測し、20+パラメータを持つメソッドが魅力されていないとして、私はこの方法では、明示的なパラメータを使用していない単体テストに最適な方法BindingHelperExtensions.UpdateFromを使用するASP.NET MVCアクションメソッド?フォームポストの取り扱いには

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 }); 
    } 

のようなものを持っています。

ここで私の唯一のオプションは、Rob Coneryのやり方と同じHttpRequest全体をモックアップすることです。これはベストプラクティスですか?とても新しいフレームワークで伝えるのは難しいです。

私はまた、あなたがインターフェイスで包み、それを模擬

[SomeFilter] 
public Insert(Contact contact) 

答えて

1

私は今ModelBinderを使用していますので、私のアクションメソッドは次のように(基本的に)見ることができていること:

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

のようなものに上記のメソッドシグネチャを変換できるように、のActionFilterを使用して関連するソリューションを見てきました。

関連する問題