2

我是 Spring MVC 的新手,我使用 spring MVC 和 resteasy 编写了 web 服务。我的控制器工作正常,现在需要编写测试用例,但我尝试了 writtig,但我从未成功我也遇到了自动装配问题。

@控制器

@Path("/searchapi")
公共类 SearchAPIController 实现 ISearchAPIController {
 @自动连线
    私有 ISearchAPIService srcapiservice;
@得到
    @Path("/{domain}/{group}/search")
    @Produces({"application/xml", "application/json"})
    公共集合 getSolrData(
            @PathParam("domain") 最终字符串域,
            @PathParam("group") 最终字符串组,
            @Context final UriInfo uriinfo) 抛出异常 {    
       System.out.println("登陆获取****************");
        返回 srcapiservice.getData(域,组,uriinfo);
    }
}

谁能给我 Spring mvc 中测试用例的示例代码。

4

2 回答 2

4

“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。

于 2011-05-11T12:59:55.817 回答
0

如果您想测试容器内的完整服务,您可以查看 Java 的REST Assured框架。它使测试和验证基于 HTTP/REST 的服务变得非常容易。

于 2012-03-01T07:19:03.790 回答