現在のソリューション
だから私は非常によく似たものを持っています
[HttpPost]
public ActionResult Upload()
{
var length = Request.ContentLength;
var bytes = new byte[length];
if (Request.Files != null )
{
if (Request.Files.Count > 0)
{
var successJson1 = new {success = true};
return Json(successJson1, "text/html");
}
}
...
return Json(successJson2,"text/html");
}
単体テスト可能なソリューション?
私はこのようなものが欲しい:
[HttpPost]
public ActionResult Upload(HttpRequestBase request)
{
var length = request.ContentLength;
var bytes = new byte[length];
if (request.Files != null )
{
if (request.Files.Count > 0)
{
var successJson1 = new {success = true};
return Json(successJson1);
}
}
return Json(failJson1);
}
ただし、これは失敗します。これは、基本クラスからモックを作成して使用できるため、面倒です。
ノート
- これはフォーム/アップロードを解析する良い方法ではないことを認識しており、ここで他のことが起こっていると言いたいです (つまり、このアップロードはフォームまたは xmlhttprequest である可能性があります - アクションはどちらかを知りません)。
- 「リクエスト」ユニットをテスト可能にする他の方法も素晴らしいでしょう。