Модульный тест или строковый ответ ActionResult во время выполнения через ExecuteResult?

Вопрос ...

Как лучше всего провести модульное тестирование строкового ответа и тип содержимого из нескольких методов контроллера?

Использование ...

Каждый метод возвращает ActionResult , некоторые из которых являются ответами ViewResult . Я использую ASP.NET MVC 2 RTM и Moq .

В частности ...

Я хочу получить TextWriter из ] HttpContext. Ответ и должен ли он содержать полную строку ответа из ActionResult .

Почему?

1. В рамках модульных тестов

я хочу проверить некоторые конкретные, если контент существует , а не существует с выходными данными.

2. Выполнение через рабочий поток

Я использую фоновый рабочий поток для обновления статического содержимого на удаленных серверах, это содержимое является выводом контроллеров и должно создаваться как таковое. Запросы к одному и тому же серверу через HTTP не рекомендуется, так как обновляется много тысяч файлов.

Я вижу, что один и тот же код используется как в Runtime , так и в Unit Tests ], Спасибо @Darin Dimitrov за упоминание Integration Testing , но теперь в этот вопрос добавлен элемент времени выполнения.

EDIT : после некоторого тестирования и обзора с использованием некоторого исходного кода из MvcIntegrationTestFramework, на который ссылается alexn . Что использует AppDomain.CreateDomain и SimpleWorkerRequest для создания нового запроса, я обнаружил, что невозможно создать новый запрос с помощью этого метода в процессе, который уже имеет активный запрос из-за использования статических значений. Так что это исключает этот метод.

Вероятно, та же проблема, но теперь мне интересно, может ли результат из частичного представления быть возвращен в виде строки более прямым образом?

6
задан Community 23 May 2017 в 11:52
поделиться