我应该模拟ControllerContext来对我的JsonNetResult数据进行单元测试

时间:2012-09-05 16:26:51

标签: c# asp.net-mvc unit-testing json.net

我在asp.net mvc 4.0项目中使用了JsonNetResult类:

http://james.newtonking.com/archive/2008/10/16/asp-net-mvc-and-json-net.aspx

如何对我的c#类正确转换为json格式进行单元测试?

Json转换在ExecuteResult方法中执行,这似乎是不可能的

根据www。

模拟

有些人甚至说这对于json测试来说是太多的模拟努力。

有人说为什么不直接测试JsonConvert.SerializeObject(_data);方法

我很高兴听到一些关于该主题的专业建议。

1 个答案:

答案 0 :(得分:0)

如果你想测试你的C#类是否可以被序列化,那么尝试直接序列化,记住单元测试侧重于测试一个特定的操作,你提供的链接做了几件事。为了对它进行单元测试,你必须创建一个方法来完成给定当前状态的大部分工作,而不是使用隐式状态。

要直接序列化,只需调用if (Data != null)的内容,为其提供您想要提供的信息。请注意,您需要提供的一条信息是要写入的流,因为它直接写入Response