【发布时间】:2012-05-24 12:02:24
【问题描述】:
当前解决方案
所以我有一些非常相似的东西
[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);
}
但是这失败了,这很烦人,因为我可以从基类制作一个 Mock 并使用它。
注意事项
- 我知道这不是解析表单/上传的好方法,并且会 想说说这里还有其他事情(即本次上传 可以是表单或 xmlhttprequest - 操作不知道哪个)。
- 使“请求”单元可测试的其他方法也很棒。
【问题讨论】:
标签: c# asp.net asp.net-mvc-3 unit-testing c#-4.0