Spring MVC тестовый кейс - PullRequest
2 голосов
/ 11 мая 2011

Я новичок в Spring MVC, я написал веб-сервис с использованием Spring MVC и resteasy.Мой контроллер работает нормально, теперь нужно написать тестовый сценарий, но я пробовал писать, но у меня никогда не получалось, у меня тоже проблема с автопроводкой.

@ Контроллер

@Path("/searchapi")
public class SearchAPIController implements ISearchAPIController {
 @Autowired
    private ISearchAPIService srchapiservice;
@GET
    @Path("/{domain}/{group}/search")
    @Produces({"application/xml", "application/json"})
    public Collections  getSolrData(
            @PathParam("domain") final String domain,
            @PathParam("group") final String group,
            @Context final UriInfo uriinfo) throws Exception {    
       System.out.println("LANDED IN get****************");
        return srchapiservice.getData(domain, group, uriinfo);
    }
}

Может кто-нибудь дать мне пример кода для тестового случая весной MVC.

Ответы [ 2 ]

4 голосов
/ 11 мая 2011

Тестовый сценарий «Spring-MVC» может выглядеть так с использованием фиктивных объектов, например, мы хотим проверить мой MyControllerToBeTest:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("/spring.xml")
public class MyControllerTest {

    private MockHttpServletRequest request;
    private MockHttpServletResponse response;
    private MyControllerToBeTested controller;
    private AnnotationMethodHandlerAdapter adapter;

    @Autowired
    private ApplicationContext applicationContext;

    @Before
    public void setUp() {
        request    = new MockHttpServletRequest();
        response   = new MockHttpServletResponse();
        response.setOutputStreamAccessAllowed(true);
        controller = new MyControllerToBeTested();
        adapter = new AnnotationMethodHandlerAdapter();
    }

    @Test
    public void findRelatedVideosTest() throws Exception {
        request.setRequestURI("/mypath");
        request.setMethod("GET");
        request.addParameter("myParam", "myValue");
        adapter.handle(request, response, controller);
        System.out.println(response.getContentAsString());
    }

}

но у меня нет опыта тестирования ресурсов REST, в вашем случае RestEasy.

0 голосов
/ 01 марта 2012

Если вы хотите протестировать полный сервис внутри контейнера, вы можете взглянуть на REST Assured framework для Java.Это позволяет очень легко тестировать и проверять службы на основе HTTP / REST.

...