我有一个MVC控制器,它从输入流中获取JSON。由于数据类型不同,我不能只将数据设置为函数的参数。
在单元测试中,我是否设置了request.inputstream?
public class ApiController : Controller
{
public async Task<JsonResult> Log()
{
var data = new System.IO.StreamReader(Request.InputStream).ReadToEnd()
var value = Newtonsoft.Json.JsonConvert.DeserializeObject<Models.MyClass>(input);
}
}
[TestMethod()]
public void LogTest()
{
var controller = new ApiController();
// need to inject JSON code request.input stream???
var result = controller.Log();
result.Wait();
Assert.AreEqual(((dynamic)result.Result.Data).success, true);
}
答案 0 :(得分:0)
您无法手动设置Request.InputStream
。它只是吸气剂。 https://msdn.microsoft.com/en-us/library/system.web.httprequest.inputstream(v=vs.110).aspx