继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

spring boot——MockMvc的用法

holdtom
关注TA
已关注
手记 1884
粉丝 240
获赞 992

1.pom配置

<dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-test</artifactId>

</dependency>

2.所需对象及Controller

public class User {

    private String id;

    private String username;

    private Date birthday;  

    public User(String id, String username) {

        this.id = id;

        this.username = username;

    }

    //get/set

}

构造一个queryUserList服务

@RestController

@RequestMapping(value="/user")

public class UserController {

            @GetMapping

            public List<User> queryUserList(){

                //使用反射打印出信息

                System.out.println(ReflectionToStringBuilder.toString(condition,ToStringStyle.MULTI_LINE_STYLE));

                List<User> users = new ArrayList<>();

                users.add(new User("1","张三"));

                users.add(new User("2","李四"));

                users.add(new User("3","王五"));

                return users;

            }

    }

编写mockmvc测试用例

@RunWith(SpringRunner.class)

@SpringBootTest

public class UserControllerTest {

    //伪造mvc环境

    @Autowired

    private WebApplicationContext mac;

    private MockMvc mockMvc;

    @Before

    public void setup() {

        mockMvc = MockMvcBuilders.webAppContextSetup(mac).build();

    }

    @Test

    public void whenGenInfoSuccess() throws Exception{

        String result = mockMvc.perform(get("/user")

                .contentType(MediaType.APPLICATION_JSON_UTF8)) 

                .andExpect(status().isOk())

                .andReturn().getResponse().getContentAsString();

                System.out.println(result);

    }

}

©著作权归作者所有:来自51CTO博客作者mazongfei的原创作品,如需转载,请注明出处,否则将追究法律责任


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP