- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 西安理工大学计算机学院软件工程系 * 西安理工大学计算机学院软件工程系 * JUnit--单元测试工具 * 计算机学院软件工程系 Email:Xiahui_1@163.com TelphoneQQ不聊天) 问题的提出 * 1、假设你负责开发B和E模块,F模块由别人负责,当你完成了B和E模块,想进行测试,但是F模块还没有完成,怎么办?? 2、假设你的程序要使用HTTP连接或WEB服务器,但是你的开发环境里没有WEB服务器,怎么办?? 解决策略 * 1、使用stub stub是旨模拟可能存在或还没写完真实代码所产生的行为,用来替换真正的代码。 2、使用Mock object stub * 1、使用stub stub是旨模拟可能存在或还没写完真实代码所产生的行为,用来替换真正的代码。 stub一般适合代码中粗粒度部分,比如文件系统,连接服务器和数据库等 stub通常难以编写,尤其是仿真系统很复杂的时候 Mock object * 2、使用Mock object------------是一个对象 用来代替与你的代码协作的对象。这样与stub有些相似,但是仅限于此。 mock object一般适合代码中细粒度部分 Stub例子 * 例子:一个http连接的例子 假设有一个程序webclient.java,想通过http连接访问远程WEB服务器 Public getContent(URL url){ … url.openConnection(); … } WebClient.java WEB Server url对应的html网页 http Public testGetContent(){ …. } WebClientTest.java 建立web server进行测试 * 为了对webclient进行单元测试,你必须在开发平台上建立一个服务器如apache tomcat,这样一来,存在如下缺陷: 1、依赖环境 如果web服务器关闭了,则测试无法执行。 2、分散的测试逻辑 测试被分散到了二个不同的地方,一是在junit test case,二是测试web页面,这二种资源要求保持同步 3、测试难以自动化 它需要在web服务器自动配置web页面,自动启动web服务器,而完成这一切仅是为了运行单元测试。 结论 * 1、我们不能利用apache或tomcat服务器 2、可以使用嵌入式服务器(嵌入test case的web服务器),利用test case控制其运行等操作。 Jetty—web server * Jetty 是一个开源的servlet容器,它为基于Java的web内容,例如JSP和servlet提供运行环境。Jetty是使用Java语言编写的,它的 API以一组JAR包的形式发布。开发人员可以将Jetty容器实例化成一个对象,可以迅速为一些独立运行(stand-alone)的Java应用提供网络和web连接。 看WebExample项目下的JettySample.java,如何用java以嵌入模式启动web 服务 Stub测试---检验webclient在输入正确URL的情况下能正常工作 * public class TestWebClientSkeleton extends TestCase{ protected void setUp() { // 启动jettey并且进行配置, 当输入http://localhost:8080/testGetContentOk 时返回“It works” } protected void tearDown() { // 停止Jetty } public void testGetContentOk() throws Exception { WebClient client = new WebClient(); String result = client.getContent(new URL( http://localhost:8080/testGetContentOk)); assertEquals(It works, result); } } 详见TestWebClientSkeleton.java Stub测试 * 为了实现setup和teardown方法,可以有两种方个法: 1、准备一个静态页面,内容为”It works”,放入根目录 2、配置jetty
您可能关注的文档
- 平面控制网平差课程设计书.doc
- 人体解剖生理学尿的生成与排出.docx
- 倪坤仪-分析化学(二)质 谱 法09-10.ppt
- 人体解剖生理学细胞的基本功能.docx
- 倪坤仪-分析化学(二)重量分析法与沉淀滴定法10-11.ppt
- 软件项目管理习题集-手工整理16K-20140617.doc
- 书-[中]现代密码学理论与实践.pdf
- 数据库原理软件设计文档国家标准-第八组软件需求说明书.doc
- 数据挖掘-客户购买商品行为分析.doc
- 文件函数 c++.doc
- 西安理工大学《软件测试技术》5-4 单元测试-性能分析.ppt
- 西安理工大学《软件测试技术》6-1 集成测试和系统测试.ppt
- 西安理工大学《软件测试技术》6-2 测试方法.ppt
- 西安理工大学《软件测试技术》6_2 自动化测试.ppt
- 西安理工大学《软件测试技术》6-4 性能测试.ppt
- 西安理工大学《软件测试技术》7 软件测试管理.ppt
- 西安理工大学《软件测试技术》2013_tester_report.pdf
- 西安理工大学《软件测试技术》Bug管理的经验和实践下.doc
- 西安理工大学《软件测试技术》Bug管理的经验和实践中.doc
- 西安理工大学《软件测试技术》2014年软件测试从业人员调查报告.pdf
文档评论(0)