Testing Spring 4.0.3 Controller (MVC) with MockMVC

Talha Ahmed Khan

I am trying to create Test Cases for a RestController. Here is a simple RestContorller

@RestController
@RequestMapping("/media")
public class MediaListController {
    @RequestMapping(method = RequestMethod.GET)
    public String getAllMedia(){
        return "TEST COMPLETE";
    }
}

And I have a spring-rest-servlet.xml file which has <mvc:annotation-driven />

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context-3.0.xsd
    http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">

    <mvc:annotation-driven />
    <context:component-scan base-package="com.mp.web.controller.common" />

</beans>

Now if I deploy my WAR on tomcat 8 its running just as expected.

URL --> http://localhost:8080/application-name/rest/media

Now I want to create a Test Case for this REST service. What i did so far

@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration
@ContextConfiguration("classpath:spring-rest-servlet.xml")
public class MediaTest {

    MockMvc mockMvc;

    @Before
    public void init(){
        mockMvc = MockMvcBuilders.standaloneSetup(MediaListController.class).build();
    }

    @Test
    public void getAllMediaTest1() throws Exception {
        mockMvc.perform(get("/media")).andExpect(status().isOk());
    }
}

If I run that test I get the following Warning.

WARN  o.s.w.s.PageNotFound - No mapping found for HTTP request with URI [/media] in DispatcherServlet with name ''

I tried that link with other options like

'/' , '/rest/media' , 'http://localhost:8080/app-name/rest/media'

but no use.

I am using Spring 4.0.3

NimChimpsky

You need to change your init to this :

 mockMvc = MockMvcBuilders.standaloneSetup(new MediaListController()).build();

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

Testing Spring 4.0.3 Controller (MVC) with MockMVC

From Dev

Testing Spring MVC Router with MockMVC

From Dev

Testing a spring mvc rest controller

From Dev

Spring MVC Testing: Controller Method Parameters

From Dev

Unit Testing Spring MVC Controller that returns PagedResources

From Dev

Spring JUnit testing using mockMvc

From Dev

Spring JUnit testing using mockMvc

From Dev

MVC4 controller unit testing

From Dev

MVC4 controller unit testing

From Java

Testing Spring's @RequestBody using Spring MockMVC

From Dev

Testing Spring Security Controller Using Spring Mvc Test

From Dev

Spring controller unit testing with spring-test-mvc is failing

From Dev

Spring controller unit testing with spring-test-mvc is failing

From Dev

Spring4 MVC Controller Pageable not working

From Dev

Invalid controller configuration at Spring MVC 4

From Dev

Invalid controller configuration at Spring MVC 4

From Dev

Spring mvc : Unit testing a controller with MockMultipartFIle and other form data

From Dev

unit testing for spring mvc controller with Integer value as @RequestParam

From Dev

Unit testing a MVC controller

From Dev

Are Spring's MockMvc used for unit testing or integration testing?

From Dev

junit: NullPointer on injected bean when testing controller with mockmvc

From Java

Spring Boot MVC Test - MockMvc is always null

From Dev

Upload file using Spring mvc and MockMVC

From Dev

Unit testing in spring mvc

From Dev

MVC and Spring MVC Unit Testing

From Dev

Unit testing field validation with MockMvc but without Spring context?

From Dev

Testing method Controller in Spring with mockito

From Dev

how to use jmockit with spring's mockmvc to test controller

From Dev

Spring MockMvc - How to test delete request of REST controller?

Related Related

  1. 1

    Testing Spring 4.0.3 Controller (MVC) with MockMVC

  2. 2

    Testing Spring MVC Router with MockMVC

  3. 3

    Testing a spring mvc rest controller

  4. 4

    Spring MVC Testing: Controller Method Parameters

  5. 5

    Unit Testing Spring MVC Controller that returns PagedResources

  6. 6

    Spring JUnit testing using mockMvc

  7. 7

    Spring JUnit testing using mockMvc

  8. 8

    MVC4 controller unit testing

  9. 9

    MVC4 controller unit testing

  10. 10

    Testing Spring's @RequestBody using Spring MockMVC

  11. 11

    Testing Spring Security Controller Using Spring Mvc Test

  12. 12

    Spring controller unit testing with spring-test-mvc is failing

  13. 13

    Spring controller unit testing with spring-test-mvc is failing

  14. 14

    Spring4 MVC Controller Pageable not working

  15. 15

    Invalid controller configuration at Spring MVC 4

  16. 16

    Invalid controller configuration at Spring MVC 4

  17. 17

    Spring mvc : Unit testing a controller with MockMultipartFIle and other form data

  18. 18

    unit testing for spring mvc controller with Integer value as @RequestParam

  19. 19

    Unit testing a MVC controller

  20. 20

    Are Spring's MockMvc used for unit testing or integration testing?

  21. 21

    junit: NullPointer on injected bean when testing controller with mockmvc

  22. 22

    Spring Boot MVC Test - MockMvc is always null

  23. 23

    Upload file using Spring mvc and MockMVC

  24. 24

    Unit testing in spring mvc

  25. 25

    MVC and Spring MVC Unit Testing

  26. 26

    Unit testing field validation with MockMvc but without Spring context?

  27. 27

    Testing method Controller in Spring with mockito

  28. 28

    how to use jmockit with spring's mockmvc to test controller

  29. 29

    Spring MockMvc - How to test delete request of REST controller?

HotTag

Archive