网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.Error 对象.
.开源Licenses简介.
.read-Atleap-5-主逻辑1-的发表新.
.快速配置FreeBSD.
.[翻译]-Windows CE 程序设计 (3r.
.Java桌面端程序开发.
.可以获得键值的Applet.
.GetDrive 方法.
.Java编程应用:使用动态代理实现.
.JAVA文件加密器(收藏).
.20分钟熟悉猛虎脾气----JDK1.5新.
.java学习——理解面向对象程序设.
.Java虚拟机CACAO 0.95 .
.Eclipse3.0的swt编程.
.Java Learning Path (一)、工具.
.Java连接数据库实例.
.论全世界所有程序员都会犯的错误.
.SpringSide推荐的JDK5.0 feature.
.Java新学法之Robocode基本原理之.
.更改tomcat5.0.18的主机目录的方.

JBuilder2005单元测试之创建测试用例

发表日期:2008-1-5



  我们先为Subsection类创建测试用例。

  1.在编辑器中打开Subsection.Java文件,使其处理激活态。

  2.File->New...->Test->在Test页的对象库中双击Test Case图标,启动创建测试用例的向导,如下图所示:

JBuilder2005单元测试之创建测试用例(图一)
图 错误!文档
中没有指定样式的文字。指定测试的方法

  ·Select class:测试的目标类,默认为当前编辑器中打开的类,也可以通过其后的…按钮选择工程中其他的类。

  ·Avaiable methods:列出了测试目标类的所有public、protected和默认可视域的方法,private方法不列出。只要你测试了前三者的方法,private也被间接测试到了。这里,我们选择getValue()和sign()方法。

  点击Next到下一步。

  3.设置测试用例类的类名。

JBuilder2005单元测试之创建测试用例(图二)
图 错误!文档中没有指定样式的文字。指定测试用例类的名称

  JBuilder为测试用例类指定了一个默认的类名,即Test<业务类名>,包名和业务类包名一致。接受默认的值,直接按Finish创建TestSubsection测试用例类。

  实战经验:

  虽然在物理上,业务类和测试用例类被放在不同目录下,但在工程窗格的资源树中,业务类和测试用例还是挤在了一起。假如一个包下有多个业务类,加上它们相应的测试用例类,将显得更加拥挤不堪。所以最好将测试用例放到不同的包中,如com.super.bdbj包中的所有业务类的测试用例放到test.super.bdbj目录下,这样将彻底解决测试用例和业务类的物理和逻辑上的分离,使工程窗格中的资源树更加整洁明了。

  TestSubsection类的代码如下所示:

  代码清单 错误!文档中没有指定样式的文字。向导生成的TestSubsection类

1. package chapter25;
2.
3. import junit.framework.*;
4. public class TestSubsection extends TestCase {
5.  private Subsection subsection = null;
6.  protected void setUp() throws Exception {
7.   super.setUp();
8.   subsection = new Subsection();
9.  }
10.
11. protected void tearDown() throws Exception {
12.  subsection = null;
13.  super.tearDown();
14. }
15.
16. public void testGetValue() {
17.   int d = 0;
18.   int eXPectedReturn = 0;
19.   int actualReturn = subsection.getValue(d);
20.   assertEquals("return value", expectedReturn, actualReturn);
21.   /**@todo fill in the test code*/
22. }
23.
24. public void testSign() {
25.  double d = 0.0;
26.  int expectedReturn = 0;
27.  int actualReturn = subsection.sign(d);
28.  assertEquals("return value", expectedReturn, actualReturn);
29.  /**@todo fill in the test code*/
30. }
31. }
  在第5行声明了一个Subsection的成员变量,并在setUp()中实例化这个变量(第7行),在tearDown()中释放这个变量(第12行),其实这三部分就构成了一个测试固件。当然,由于我们的getValue()、sign()方法都是静态方法,所以并不需要这个固件,在测试方法中直接调用方法就可以了,如Subsection.getValue(),但为了加强概念上的熟悉,我们非凡予以保留。

  第16~22行的testGeValue()方法,和第24~30行的testSign(),就是在向导第1步所选择的需要测试的API方法对应的测试方法。JBuilder当然不可能知道我们API的逻辑规则,所以它仅提供了一个框架式的测试代码,需要我们发挥聪明才智通过assertXxx()定制覆盖性强的测试规则。

  注重:

  你也可以手工在TestSubsection类中添加测试方法,测试方法必须遵照public void testXxx()样式规范。所以假如你想在测试用例类中添加一个辅助性的方法,请不要以test为前缀,在更改业已生成的测试方法名称时,也要保证不去除方法前的test前缀,测试运行器籍此查找测试用例类中的测试方法。进入讨论组讨论。
上一篇:JBuilder2005 Servlet开发之开发必备 人气:537
下一篇:Java手机软件图形界面API之Form相关API 人气:661
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐