У меня есть конечная точка REST, которую я хочу протестировать. Попадание в эту конечную точку с помощью запроса POST загружает файл в удаленное репозиторий git. Я пытаюсь протестировать POST-вызовы этой конечной точки с помощью mockMvc (я хочу видеть только статус возврата «isOk ()») - я не хочу, чтобы конечная точка действительно была поражена моими jUnits, так как это приведет к появлению ненужных файлов будут загружены в репо, и их нужно будет очистить позже.
Моя проблема в том, что mockMvc выполняет фактический вызов POST для конечной точки! с! Я думал, это все издеваются ?! Возможно ли, чтобы mockMvc возвращал isOk () без фактического вызова конечной точки и отправки файлов в мое удаленное репо?
Mock MVC - это всего лишь инструмент, позволяющий вызывать методы, отмеченные @GetMapping
, @PostMapping
и т. д.
Метод post из контроллера на самом деле является методом, который вам нужно протестировать, и его не следует высмеивать, поэтому вы попадаете в настоящую конечную точку.
Я предлагаю вам реструктурировать ваш контроллер таким образом, чтобы метод post делегировал только задачу отправки запроса в службу. Таким образом, ваш контроллер будет иметь только одну строку кода (вызов службы), и в то же время вы сможете имитировать службу, чтобы она не попала в реальную конечную точку.