ViewResult не возвращает данных - PullRequest
       41

ViewResult не возвращает данных

1 голос
/ 27 августа 2010

Я использую шаблон от NerdDinner.Я вызываю Index () в моем методе Test, и у меня не получено данных ViewREsult.Таким образом, переменная data становится нулевой.

Однако я знаю, что там есть данные.Поскольку я могу перейти к окну просмотра и развернуть переменную result и развернуть viewData-> Model-> ResultsView , тогда я вижу, что «расширение будет отображать результат, будет перечислять IEnumerable» Когда яразверните его, данные существуют.

Есть идеи, почему данные возвращаются к нулю, если я не расширю?

спасибо Jas

   [TestMethod]
    public void Index__Should_Return_1_or_More_lessons()
    {
        var controller = new LessonController(new FakeLessonRepository());

        var result = controller.Index() as ViewResult;

        var data = result.ViewData.Model as IList<Lesson>;
        Assert.IsTrue(data.Count > 0);
    }

1 Ответ

1 голос
/ 27 августа 2010

Это из-за Ленивая загрузка в Linq или EF (в зависимости от того, что вы используете). Запросы выполняются только при необходимости.Вы можете принудительно выполнить его, вызвав финализатор, такой как ToList () или ToArray () или что-то подобное.

...