2014-09-27 11 views
6

अरे दोस्तों मैं अपने पहले नियंत्रक का परीक्षण करने की कोशिश कर रहा हूं, इंटरनेट पर कुछ उदाहरणों का पालन किया है लेकिन संकलन करने के लिए तरीकों() और स्थिति() में त्रुटि में है।मुझे mockmvc के साथ एक परीक्षण नियंत्रक बनाने के लिए विधियां() और स्थिति() बनाने की आवश्यकता है?

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())); 
    } 
} 

मेरी कक्षा नियंत्रक

@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: 

इस लाइन पर एकाधिक मार्करों - विधि (स्ट्रिंग) प्रकार ClienteControllerTest के लिए अपरिभाषित है - विधि स्थिति() प्रकार के लिए अपरिभाषित है ClienteControllerTest

+1

ठीक है त्रुटि सही है। सुनिश्चित नहीं है कि ग्रहण त्वरित-ठीक पर्याप्त स्मार्ट है लेकिन आपको कक्षा 'MockMvcRequestBuilders' के लिए कुछ स्थिर आयात जोड़ना चाहिए जिसमें उन विधियों को शामिल किया गया हो। –

+0

धन्यवाद एम। डीनियम ^^ –

उत्तर

23

निम्नलिखित आयात जोड़ने का प्रयास करें:

import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; 
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*; 
+0

@ टियागो कोस्टा, यदि यह उत्तर आपके प्रश्न को हल करता है, तो क्या आप इसे स्वीकार करेंगे? वैसे, मुझे लगता है कि यह करता है। – 000

+1

सही उत्तर ... – sura2k

संबंधित मुद्दे

 संबंधित मुद्दे