2009-02-05 25 views
24

aşağıdaki kontrolör sınıfını Verilen:ASP.NET MVC RC1'deki ViewResult'dan model verileri nasıl alınır?

public class ProjectController : Controller 
{ 
    public ActionResult List() 
    { 
     return View(new List<string>()); 
    } 
} 

nasıl aşağıdaki birim testinde modeli nesneye bir başvuru alabilirim?

Hangi iç alanların ayarlandığını görmek için denetleyici eylemine adım atmayı denedim, ancak şanssız.

ASP.NET MVC hakkındaki bilgim oldukça kısıtlıdır, ancak tahminim, denetleyiciyi doğru bir bağlamla kurmayacağım.

Herhangi bir öneriniz var mı?

cevap

37

Dene:

result.ViewData.Model 

Umut bu yardımcı olur İşte testin daha doğru bir versiyonudur.

+0

fsabau, kesinlikle haklısınız. Bunu özlediğime inanamıyorum. D'oh! –

6

Asp.Net Mvc çerçevesinin Sürüm Adayı sürümünde, model ViewResult nesnesinin "Model" özelliğiyle kullanılabilir hale getirilmiştir.

[Fact] 
public void List_Action_Provides_ProjectCollection() 
{ 
    //act 
    var result = controller.List(); 

    //assert 
    var viewresult = Assert.IsType<ViewResult>(result); 
    Assert.NotNull(result.ViewData.Model); 
    Assert.IsType<List<string>>(result.ViewData.Model); 
} 
İlgili konular