Как выполнить модульное тестирование Asp.net MVC fileUpload

Здравствуйте, я новичок в разработке TDD.
Я наткнулся на это сообщение для Использование asp.net mvc для загрузки файла
Фил Хаак заявляет, что для управления загрузкой файлов можно использовать класс, в котором он использует HttpFileCollectionValueProvider по умолчанию:

[HttpPost]
public ActionResult Index(HttpPostedFileBase file) {

  if (file.ContentLength > 0) {
    var fileName = Path.GetFileName(file.FileName);
    var path = Path.Combine(Server.MapPath("~/App_Data/uploads"), fileName);
    file.SaveAs(path);
  }

  return RedirectToAction("Index");
}

значение ограничено в форма как

Обратите внимание, что HttpPostedFileBase анализируется как параметр в контроллере с именем «файл» в форме html и как параметр анализа в контроллере индекса.

У меня два вопроса:
1. Как проверить метод file.SaveAs?
2. Я не совсем уверен, как провести модульное тестирование с этим. В файле тестового контроллера у меня должен быть поддельный HttpPostedFileBase, но он запечатан. Есть ли у кого-нибудь какие-нибудь стратегии, чтобы справиться с этим?

Большое спасибо!

9
задан tereško 19 June 2012 в 11:59
поделиться