文档章节

Webservice Jersey Test Framework

boonya
 boonya
发布于 2013/06/02 22:34
字数 449
阅读 3.2K
收藏 7

前言:您的应用程序是否拥有RESTful Web服务?你想确保这些服务是正常工作在一个广泛的容器——无论是重量轻和重的?你有没有觉得需要一个基础设施的设置,您可以使用它来测试你的服务对所有这些容器,而不必担心诸如部署描述符,等等.

I 怎样使用Jersey Test Framework?

要简单的使用框架您也许需要以下几个步骤:
1、添加项目依赖的pom.xml内容

<dependency>
       <groupId>com.sun.jersey.test.framework</groupId>
       <artifactId>jersey-test-framework</artifactId>
       <version>1.0.3</version>
       <scope>test</scope>
 </dependency>
2、新建一个Java类并继承 com.sun.jersey.test.framework.JerseyTest
3、通过super调用父类方法为 JerseyTest设置下面标出的一个或多个参数
super(String rootResourcePackage),super(String contextPath, String servletPath, String resourcePackageName),super().
4、添加测试类的 org.junit.Test annotation注解.
5、从JerseyTest 类处理 com.sun.jersey.api.client.Client 和com.sun.jersey.api.client.WebResource 的实例,创建测试方法的URIs和HTTP请求.
6、将项目部署到web容器.
7、启动测试类需要测试的方法.

II 测试实例Java代码

package com.hascode.tutorial.rest;
 
import static org.junit.Assert.assertEquals;
import java.net.URISyntaxException;
import org.codehaus.jettison.json.JSONException;
import org.codehaus.jettison.json.JSONObject;
import org.junit.Test;
import com.sun.jersey.api.client.UniformInterfaceException;
import com.sun.jersey.api.client.WebResource;
import com.sun.jersey.test.framework.AppDescriptor;
import com.sun.jersey.test.framework.JerseyTest;
import com.sun.jersey.test.framework.WebAppDescriptor;
 
public class UserServiceTestUsingJerseyTestFramework extends JerseyTest {
	@Override
	protected AppDescriptor configure() {
		return new WebAppDescriptor.Builder().build();
	}
 
	@Test
	public void testUserFetchesSuccess() throws JSONException,
			URISyntaxException {
		WebResource webResource = client().resource("http://localhost:8080/");
		JSONObject json = webResource.path("/rest-test-tutorial/user/id/12")
				.get(JSONObject.class);
		assertEquals("12", json.get("id"));
		assertEquals("Tim", json.get("firstName"));
		assertEquals("Tester", json.get("lastName"));
		assertEquals("1970-01-16T07:56:49.871+01:00", json.get("birthday"));
	}
 
	@Test(expected = UniformInterfaceException.class)
	public void testUserNotFound() {
		WebResource webResource = client().resource("http://localhost:8080/");
		JSONObject json = webResource.path("/rest-test-tutorial/user/id/666").get(JSONObject.class);
	}
}
III 你使用该框架做过任何简单的实例吗?
以下是由此框架改变出来的项目:

From:https://blogs.oracle.com/naresh/entry/jersey_test_framework_makes_it (Oracle sun blog上资料)

http://www.hascode.com/2011/09/rest-assured-vs-jersey-test-framework-testing-your-restful-web-services/ (该链接包含一个完整的REST webservice测试示例,并使用Maven构建项目)


© 著作权归作者所有

boonya
粉丝 79
博文 375
码字总数 74754
作品 0
海淀
高级程序员
私信 提问
加载中

评论(0)

RESTful webService 初使用

RESTFul webservices 比 SOAP webservice 轻量,简单,易用。但是相对来说没有SOAP那么安全。 A RESTFul webservices are based on the HTTP methods and the concept of REST. A RESTFul w......

fanson59
2013/08/15
0
0
Android Restful Webservice Tutorial – 2

How to create RESTFul webservice in Java? In this post, I will be discussing about creating RESTful webservice in Java and in the next post will be discussing how to consume RES......

JayPark不作死
2014/08/18
90
0
bbossgroups-1.0 版本发布

bbossgroups project contain follow subprojects: 1.bboss-persistent, a persistent framework(). a.灵活的事务管理(声明式事务管理,可编程事务管理,java注解事务管理,jdbctemplate事务...

yin_bp
2010/03/19
267
0
j2ee 框架 bbossgroups 1.0 发布

bbossgroups 包含以下子项目 1.bboss-persistent, a persistent framework(持久层框架). 参考bbossgroups框架来实现持久层的操作: a.灵活的事务管理(声明式事务管理,可编程事务管理,j...

bboss
2010/03/30
0
0
Jersey+Spring:解决Jersey单实例问题

Jersey是一款优秀的webservice框架,它同时支持soap和rest两种协议,而且系出名门(oracle)。美中不足的是:Jersey是基于Servlet实现的,具有Servlet的单例特性,有线程安全问题的隐患(这点跟...

liangtee
2012/10/03
1.4K
0

没有更多内容

加载失败,请刷新页面

加载更多

Rails中的ERB中的<%,<%=,<%#和-%>有什么区别?

能否请您描述一下ERB文件中使用的以下字符的用法: <% %><%= %><% -%><%# %> 每个有什么用? #1楼 Rails默认不使用stdlib的ERB ,而是使用erubis 。 资料来源: 该开发人员的评论 ...

javail
31分钟前
50
0
九型人格测试,看游戏人物性格制作

作为一个资深的宅男&游戏玩家,也算阅人无数,额,具体的说,应该是阅游戏里的人物角色无数,游戏中不管是NPC,还是玩家扮演的角色,都有这个人物自己的性格,根据剧情,我们可以判断出这个人...

蛤蟆丸子
38分钟前
50
0
聊聊skywalking的MemoryProvider

序 本文主要研究一下skywalking的MemoryProvider MemoryProvider skywalking-6.6.0/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/jvm/memory/MemoryPro......

go4it
39分钟前
33
0
ServiceLoader

1: ServiceLoader 使用简介 java 优雅地获取接口实现 2:Java ServiceLoader使用和解析 3:spring-boot-starter原理及实现方法...

whoisliang
43分钟前
48
0
SpringCloud Feign 配置token请求

相关依赖引入 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> ......

IT-Mamba
45分钟前
55
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部