Сообщение Spring boot MockMvc не входит в реальный метод контроллера

У меня есть метод контроллеров

@PostMapping(value = "/getTransaction/{transactionUuid}")
  public ResponseEntity<TransactionDetail> getTransaction(@PathVariable() String transactionUuid) {
    return ResponseEntity.ok(transactionsService.getOpcTransaction(transactionUuid));
  }

Я пишу тест для контроллера:

@Autowired
  private MockMvc mockMvc;

  @Test
  public void test() throws Exception {
    mockMvc.perform(post("/nfp-server/getTransaction/{transactionUuid}", "123"))
      .andDo(print());
  }

Я запускаю тест в режиме отладки, но не захожу в метод контроллера getTransaction. А в логе вижу:

MockHttpServletRequest:
      HTTP Method = POST
      Request URI = /server/getTransaction/123
       Parameters = {}
          Headers = {}

person ip696    schedule 16.01.2018    source источник
comment
что это nfp-server? У вас есть это сопоставление, определенное на уровне класса? Как вы инициализируете mockMvc в своем тесте?   -  person pvpkiran    schedule 16.01.2018
comment
что это за nfp-сервер? У вас есть это сопоставление, определенное на уровне класса - да. Я удалил это и все работает!   -  person ip696    schedule 16.01.2018


Ответы (1)


В вашем контроллере ваше сопоставление

/getTransaction/{transactionUuid} 

В своем тестовом классе вы проходите

 /nfp-server/getTransaction/{transactionUuid}

Есть несоответствие.

person pvpkiran    schedule 16.01.2018