[C#] ¿Cómo obtener datos del modelo de un ViewResult en ASP.NET MVC RC1?



Answers

En la versión Release Candidate del framework Asp.Net Mvc, el modelo está disponible a través de la propiedad "Modelo" del objeto ViewResult. Aquí hay una versión más precisa de su prueba:

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

Dada la siguiente clase de controlador:

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

¿Cómo puedo obtener una referencia al objeto modelo en la siguiente prueba unitaria?

public class ProjectControllerTests
{
    private readonly ProjectController controller;

    public ProjectControllerTests()
    {
        controller = new ProjectController();
    }

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

        Assert.NotNull(result);
    }
}

Intenté entrar en la acción del controlador para ver qué campos internos se estaban configurando, pero sin suerte.

Mi conocimiento de ASP.NET MVC es bastante limitado, pero creo que no estoy configurando el controlador con un contexto correcto.

¿Alguna sugerencia?






Links