I need to create methods get () and status () to create a test controller with mockmvc?
11,393
Solution 1
Try adding the following imports:
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
Solution 2
If you just need get and status, add the following
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
Author by
Admin
Updated on June 12, 2022Comments
-
Admin almost 2 years
I am trying to test my first controller, followed a few examples on the internet, but is in error in methods
get()
andstatus()
to compile.import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.web.WebAppConfiguration; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.RequestBuilder; import org.springframework.test.web.servlet.setup.MockMvcBuilders; import br.com.boot.application.Application; import br.com.boot.controller.ClienteController; @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(classes = Application.class) @WebAppConfiguration public class ClienteControllerTest { @Autowired private ClienteController controller; @Mock private MockMvc mock; @Before public void setUp() { MockitoAnnotations.initMocks(this); this.mock = MockMvcBuilders.standaloneSetup(controller).build(); } @Test public void testandoClienteController() throws Exception{ this.mock.perform(get("/novo").andExpect(status().isOk())); } }
My Class Controller
@RestController @RequestMapping("/cliente") public class ClienteController { @Autowired private ClienteAplicacaoService service; @RequestMapping(value = "/novo", method = RequestMethod.GET) @ResponseBody public ClienteData novo(@RequestBody NovoClienteComando comando){ String clienteId = service.novoCliente(comando); return service.obterCliente(clienteId); } @RequestMapping("/obter") @ResponseBody public ClienteData obter(@RequestParam("clienteId") String clienteId){ return service.obterCliente(clienteId); } } Error:
Multiple markers at this line - The method get(String) is undefined for the type ClienteControllerTest - The method status() is undefined for the type ClienteControllerTest
-
Stephen Isienyi about 8 years@Tiago Costa, if this answer resolve your question, would you accept it? By the way, I think it does.