2009-07-27 3 views
1

je la méthode suivante dans un de mes vues,MVC tests unitaires, modèle envoyé à l'accès Voir

public ActionResult EditRoute(int? id) 
{ 
    // Do Work 
    return View(new RoutingFormViewModel(obj1, obj2, obj3)); 
} 

Ce que je voudrais faire est d'obtenir le RoutingFormViewModel qui est passé à la vue dans mon test unitaire, est-ce possible?

J'ai essayé ce qui suit, mais ne semblent pas être aller nulle part:

ActionResult result = con.EditRoute(null); 
ViewResult v = (ViewResult)result; 

Je suis à la recherche essentiellement comment je peux accéder au modèle de la vue de mon test. Toute aide appréciée.

Répondre

4

Bien sûr, accédez simplement à la propriété v.ViewData.Model. Votre modèle sera là. Mais vérifiez d'abord que votre action a fonctionné comme prévu et que le résultat est en réalité un ViewResult. Je ne sais pas si vous avez d'autres chemins dans le code d'action qui pourraient aboutir à un résultat différent.

+1

J'ai trouvé que je peux y arriver par v.Model (pas besoin de v.ViewData.Model) –