如何从JsonResult对象获取实际的JSON进行单元测试?

时间:2011-08-17 17:10:41

标签: asp.net unit-testing asp.net-mvc-3 jsonresult

我想知道如何在单元测试中获取JsonResult并获取字符串化的JSON来验证它。我已经看到了使用动态类型来验证数据的方法,但我需要实际验证数据是否被适当地转换为字符串。

这是我创建它的代码:

JsonResult result = new JsonResult {Data = new {EncryptedValue = value}};

我传入的对象实际上是我写的一个可以取值(int,double,DateTime)的类型,当转换为字符串时,它会加密值,我需要确保JsonResult在字符串化时正确地将其转换为字符串。

3 个答案:

答案 0 :(得分:3)

答案 1 :(得分:1)

你需要为此模拟HttpContext和ControllerContext。请参阅以下链接。

http://blogs.msdn.com/b/miah/archive/2009/02/25/unit-testing-the-mvc-jsonresult.aspx

答案 2 :(得分:1)

你可以通过多种方式做到这一点,很有可能。

This blog post编写和解释了自定义测试的非常好的实现。

this post中,作者使用了自定义类型,它正在返回并做同样的事情。