`
dannyhz
  • 浏览: 398036 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

Junit测试Controller(MockMVC使用),传输@RequestBody数据解决办法

 
阅读更多
这里有个往后台传json的情况
因为@RequestBody 作为参数,且需要json
请看这篇
http://www.cnblogs.com/0201zcr/p/5756642.html

引用


param:添加request的参数,如上面发送请求的时候带上了了pcode = root的参数。假如使用需要发送json数据格式的时将不能使用这种方式,可见后面被@ResponseBody注解参数的解决方法




遇到的问题

1、发送一个被@ResponseBody标识的参数,一直到400错误。 即无法发送一个json格式的数据到Controller层。

解决方法1:

复制代码
      SoftInfo softInfo = new SoftInfo();
      //设置值
     ObjectMapper mapper = new ObjectMapper();
        ObjectWriter ow = mapper.writer().withDefaultPrettyPrinter();
        java.lang.String requestJson = ow.writeValueAsString(softInfo);
        String responseString = mockMvc.perform( post("/softs").contentType(MediaType.APPLICATION_JSON).content(requestJson)).andDo(print())
                .andExpect(status().isOk()).andReturn().getResponse().getContentAsString();
复制代码
解决方法2:使用com.alibaba.fastjson.JSONObject将对象转换为Json数据

复制代码
SoftInfo softInfo = new SoftInfo();
//。。。设置值
    String requestJson = JSONObject.toJSONString(folderInfo);
        String responseString = mockMvc.perform( post("/softs").contentType(MediaType.APPLICATION_JSON).content(requestJson)).andDo(print())
                .andExpect(status().isOk()).andReturn().getResponse().getContentAsString();
复制代码
  注意上面contentType需要设置成MediaType.APPLICATION_JSON,即声明是发送“application/json”格式的数据。使用content方法,将转换的json数据放到request的body中。









使用fastjson与SpringMVC实现自定义HttpMessageConverter接收和获取JSON格式的数据
http://blog.csdn.net/hloach/article/details/67632728
分享到:
评论

相关推荐

    spring MVC junit 单元测试(controller)

    这篇博客主要探讨了如何使用JUnit进行Spring MVC Controller的单元测试。在实际开发中,单元测试可以帮助我们尽早发现潜在的问题,提高软件的可靠性和可维护性。 首先,让我们了解Spring MVC的基本概念。Spring MVC...

    Junit_test.rar_JUnit_JUnit测试_junit工具 @test

    JUnit是Java编程语言中最常用的单元测试框架之一,它为开发者提供了编写和运行可重复的、自动化的测试用例的能力。这个名为"Junit_test.rar"的压缩包显然包含了一个关于JUnit的示例程序,旨在帮助学习者更好地理解和...

    实验5 JUnit测试框架的使用.doc

    JUnit 测试框架的使用 JUnit 是一个流行的单元测试框架,广泛应用于 Java 项目中,本文将详细介绍 JUnit 测试框架的使用,并提供了两个示例来帮助读者更好地理解和掌握 JUnit 的使用。 一、JUnit 测试框架的使用 ...

    Junit测试案例使用

    Junit 测试案例使用 从 Junit 测试案例的标题、描述、标签和部分内容中,我们可以提取出以下知识点: 1. Junit 测试的概念:Junit 测试是程序员测试,即白盒测试,因为程序员知道被测试的软件如何完成功能和完成...

    Junit测试jar包

    1. **创建测试类**:首先,你需要创建一个测试类,这个类通常以`Test`结尾,并且继承自`junit.framework.TestCase`(对于JUnit4)或使用`@org.junit.Test`注解(对于JUnit5)标记测试方法。 2. **测试方法**:测试...

    在Eclipse中使用JUnit4进行单元测试

    在Eclipse中使用JUnit4进行单元测试是一种常见的Java开发实践,它可以帮助开发者确保代码的正确性和稳定性。单元测试是软件开发中的重要环节,通过编写针对代码各个独立模块的测试用例,可以验证代码功能是否按预期...

    JUnit3.8.1 以及使用JUnit测试的代码demo

    在`JUnit & 简单Junit使用代码`这个文件中,可能包含了一个或多个示例,展示了如何创建测试类、编写测试方法、使用断言以及设置测试环境。例如,可能有一个简单的数学操作类`MathUtils`,以及对应的测试类`...

    Junit 测试

    JUnit 是Java编程语言中最广泛使用的单元测试框架,它为开发者提供了一种简洁、高效的方式来编写和运行测试用例,以验证代码的功能是否符合预期。本篇将深入探讨JUnit的使用以及在Spring MVC中的应用。 首先,我们...

    junit4测试jar包

    JUnit4测试框架是Java开发中广泛使用的单元测试工具,它为开发者提供了编写和运行可重复、可靠的测试用例的能力。这个“junit4测试jar包”包含了一切你需要在项目中集成JUnit4进行测试的库文件。只需将其复制到你的...

    junit测试_java_JUnit_JUnit测试_

    此外,JUnit还提供了更高级的功能,如参数化测试(Parameterized Tests),允许使用不同的输入数据运行同一个测试方法;异常测试(Exception Testing),可以通过`@Test(expected = Exception.class)`来检查代码是否...

    juint.zip_JUnit_jack742_mockmvc

    在这个名为"juint.zip_JUnit_jack742_mockmvc"的压缩包中,重点是使用JUnit进行单元测试,并结合了MockMvc来测试控制器的逻辑。 首先,让我们深入理解JUnit。JUnit是一个开源测试框架,它基于xUnit测试框架模型,为...

    Junit 单元测试完整案例

    在案例中,你将看到如何创建测试类,定义测试方法,设置测试数据,以及如何利用JUnit和Spring/Struts提供的工具来编写高效的单元测试。通过分析和运行源码,你可以了解如何将这些概念应用于实际项目,提高代码质量。...

    junit测试测试代码

    JUnit是Java编程语言中最常用的单元测试框架之一,它允许开发者编写可重复运行的测试用例,以确保代码的功能正确性。在软件开发过程中,单元测试是至关重要的,因为它们可以帮助发现早期错误,提高代码质量,并简化...

    JUnit_Test_Code.zip_JUnit_JUnit测试_junit测试脚本

    本资源"JUnit_Test_Code.zip"包含了一份关于如何使用JUnit进行测试的实例,以及图文并茂的讲解,对于理解和实践JUnit测试脚本非常有帮助。 在Java开发中,单元测试是对软件中的最小可测试单元进行检查和验证的过程...

    javaweb中.java文件测试需要的框架(junit测试).rar

    本压缩包文件"javaweb中.java文件测试需要的框架(junit测试).rar"显然是为了帮助开发者理解如何在Java Web项目中使用JUnit进行测试。 **JUnit框架详解** JUnit是一个基于注解的测试框架,它的核心功能包括: 1....

    自动饮料机Junit测试(软件测试与质量保证实验).rar

    通过这样的实验,学生将学习如何创建测试类,定义测试方法,使用Junit的断言来验证结果,并理解测试驱动开发(TDD)的理念,即先写测试再写实现。 总之,"自动饮料机Junit测试"实验是实践软件测试理念和技巧的有效...

    Junit测试学习文档

    3. Lambda表达式支持:JUnit5允许使用lambda表达式定义测试条件,使得测试用例更易读。 4. 扩展性增强:JUnit5引入了扩展模型,允许第三方框架更灵活地扩展其功能。 六、持续集成与Junit 在持续集成环境中,如...

    junit测试工具以及安装方法

    JUnit是Java编程语言中最常用的单元测试框架之一,它允许开发者编写可执行的测试用例,以验证代码的正确性。本文将详细介绍JUnit测试工具及其安装方法。 **一、JUnit简介** JUnit是一个开源的、基于Java的测试框架...

    Java单元测试JUnit4.7

    JUnit是Java领域最广泛使用的单元测试框架,它为开发者提供了一种简洁、高效的测试工具。JUnit 4.7是该框架的一个版本,包含了对之前版本的改进和新功能。 在Java开发中,单元测试是对单个或小部分代码进行的功能...

Global site tag (gtag.js) - Google Analytics