如何测试使用MockMvc接收自定义对象的spring @RequestBody

时间:2014-03-16 21:13:55

标签: java spring spring-mvc mocking

我正在尝试测试我的控制器方法,该方法将输入参数作为我的应用程序中的一个对象。我知道如何使用String作为输入参数进行测试,而不是使用自定义对象进行测试。

以下是我的应用中的代码

    @RequestMapping(value = "/someUrl", method = RequestMethod.POST)
    public ResponseEntity<?> save(@RequestBody Transaction transaction) {

我认为下面的测试代码是测试方法之一。但是它失败了

@Test
public void test() throws Exception {
Transaction Transaction = new Transaction();
        Gson gson = new Gson();
        String json = gson.toJson(transaction);
        mockMvc.perform(post("/someUrl")
                .contentType(MediaType.APPLICATION_JSON)
                .content(json));

当我运行上述测试时,我收到错误消息“实际上,与此模拟的交互没有”。

你能帮我解决一下如何将自定义对象传递给MockMvc post方法。

1 个答案:

答案 0 :(得分:0)

api是一种更好的方法