Junit Test似乎没有调用测试方法

时间:2018-01-04 11:54:08

标签: java unit-testing junit intellij-14

我有一个方法,比如说

@PostMapping(value = "/vpos/notify", ...)
public Foo somethingJSON(Bar bar) throws Exception { ... }

我有一个测试单元进入另一个类似

的类
@Test
public void shouldInvokesomethingJson() throws Exception {   
    //given
    String jsonContent = TestDataFactory.createInputRestRequest("1.4", "VposRequest");
    //when
    mvc.perform(
        post("(path)/vpos/notify")
            .contentType(MediaType.APPLICATION_JSON)
            .header(HttpHeaders.AUTHORIZATION, token)
            .content(jsonContent)
    )
    //then
    .andExpect(status().isOk())
    .andDo(print());
}

尽管测试取得了成功,但我真的不能说它是否会进入方法...

我试图验证路径是否错误,但如果我插入其他内容,则说它无法找到要测试的方法。

我仍然不确定它是否会进入方法,遵循Postmapping注释,因为我已经在方法中插入了断点,但是当我运行" debug&#34 ;执行没有去那里。

仍然在日志中我得到了这个:

MockHttpServletRequest:
HTTP Method = POST
Request URI = .../vpos/notify
...

告诉我它正在嘲笑@PostMapping

中写的正确的URI

造成这种奇怪行为的原因是什么?

1 个答案:

答案 0 :(得分:0)

XD

还有另一种使用通用URI调用的方法,因为内容类型与我想要调用的方法不匹配,但是使用通用URI ...

啊,细节......