谷搜IT服务   技术文章
首页 | 特惠套餐 | 域名申请 | 主机空间 | 企业G邮箱 | 网站建设 | 网站推广 | 邮局系统 | 谷搜软件 | 谷搜推广






  您所在的位置 |  相关技术文章 ->  Java/J2EE/JSP ->  正文
基于swt,使用easymock测试驱动开发-gui
http://www.aguso.com 2007-11-18 03:10:42 谷搜IT服务
  Google提供的广告

  《测试驱动开发-实用指南》第八章的TestWidgets,用基于-swt编程,
下面看代码:
import org.easymock.MockControl;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.List;
import org.eclipse.swt.widgets.Text;

import junit.framework.TestCase;
/*
 * 创建日期 2004-10-20
 *
 * TODO 要更改此生成的文件的模板,请转至
 * 窗口 - 首选项 - Java - 代码样式 - 代码模板
 */

/**
 * @author Administrator
 *
 * TODO 要更改此生成的类型注释的模板,请转至
 * 窗口 - 首选项 - Java - 代码样式 - 代码模板
 */
public class TestSWTWidgets extends TestCase {
 private MockControl control=null;
 private MovieListEditor mockEditor=null;
 private SWTMovieListEditorView editorView=null;

 public static void main(String[] args) {
  junit.textui.TestRunner.run(TestSWTWidgets.class);
 }

 /*
  * @see TestCase#setUp()
  */
 protected void setUp() throws Exception {
  super.setUp();
  control=MockControl.createControl(MovieListEditor.class);
  mockEditor=(MovieListEditor) control.getMock();
  control.replay();
  editorView=new SWTMovieListEditorView(mockEditor);
  editorView.show();
 }

 
 /*
  * @see TestCase#tearDown()
  */
 protected void tearDown() throws Exception {
  super.tearDown();
 }
 
 public void testList() {
  List movieList=editorView.getMovieList();
  assertNotNull("Movie list should be non null",movieList);
  assertTrue("Movie list shoud be showing",movieList.isVisible());
  
 }
 
 public void testField() {
  Text movieField=editorView.getMovieField();
  assertNotNull("Movie field should be non null",movieField);
  assertTrue("Movie field should be showing",movieField.isVisible());
 }
 
 public void testAddButton() {
  Button addButton=editorView.getAddButton();
  assertNotNull("Movie addButton should be non null",addButton);
  assertTrue("Movie addButton should be showing",addButton.isVisible());
  assertEquals("Add button should be label","Add",addButton.getText());
   }

 public void  testDeleteButton() {
  Button deleteButton=editorView.getDeleteButton();
  assertNotNull("Movie deleteButton should be non null",deleteButton);
  assertTrue("Movie deleteButton should be showing",deleteButton.isVisible());
  assertEquals("Delete button should be label","Add",deleteButton.getText());
 }
}

下面是实际生成的swt-gui:
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.List;
import org.eclipse.swt.widgets.Text;

/*
 * 创建日期 2004-10-20
 *
 * TODO 要更改此生成的文件的模板,请转至
 * 窗口 - 首选项 - Java - 代码样式 - 代码模板
 */

/**
 * @author Administrator
 *
 * TODO 要更改此生成的类型注释的模板,请转至
 * 窗口 - 首选项 - Java - 代码样式 - 代码模板
 */
public class SWTMovieListEditorView {

 private org.eclipse.swt.widgets.Shell sShell = null;
 private List list=null;
 private Button addButton=null;
 private Button deleteButton=null;
 private Text movieField=null;
 private MovieListEditor listEditor=null;

 /**
  * @param mockEditor
  */
 public SWTMovieListEditorView(MovieListEditor anEditor) {
  
  listEditor=anEditor;
 }

 /**
  * This method initializes sShell
  */
 private void createSShell() {
  sShell = new org.eclipse.swt.widgets.Shell();    
  addButton = new Button(sShell, SWT.NONE);
  deleteButton = new Button(sShell, SWT.NONE);
  movieField = new Text(sShell, SWT.NONE);
  sShell.setSize(new org.eclipse.swt.graphics.Point(300,200));
  sShell.setText("Shell");    
  
  addButton.setBounds(new org.eclipse.swt.graphics.Rectangle(55,124,71,16));
  addButton.setText("add");
  deleteButton.setBounds(new org.eclipse.swt.graphics.Rectangle(143,125,85,16));
  deleteButton.setText("delete");
  movieField.setBounds(new org.eclipse.swt.graphics.Rectangle(55,50,164,39));

 }

 

 /**
  *
  */
 public void show() {
  this.createSShell();
  
 }

 /**
  * @return
  */
 public List getMovieList() {
  // TODO 自动生成方法存根
  return null;
 }

 /**
  * @return
  */
 public Text getMovieField() {
  // TODO 自动生成方法存根
  return movieField;
 }

 /**
  * @return
  */
 public Button getAddButton() {
  // TODO 自动生成方法存根
  return addButton;
 }

 /**
  * @return
  */
 public Button getDeleteButton() {
  // TODO 自动生成方法存根
  return deleteButton;
 }
}


本文地址:http://www.newbooks.com.cn/info/27109.html
 
打印】 【关闭】 
  分类信息
  热点新闻
2 度过困难时期 08年第三季赢利
2 相当多的企业购买Vista许可证但还没使用
2 宏基预计投入1.2亿美元赞助奥运会
2 Vista IPv6技术曝安全漏洞,遭黑客攻击
2 英特尔08年首款赛扬双核1月上市
2 新闻集团默多克接班人浮出水面
2 数码相机爱国者为消费者节省60亿元
2 "中国最具竞争力海外上市公司"-空中网
东方明珠
美图:东方明珠
上网好帮手,下载不中毒的浏览器
下载上网不中毒的浏览器
 精彩专题
·企业网站建设 ·专业网站建设
·域名注册 ·中文域名注册
·网站空间 ·虚拟主机
·企业邮箱 ·企业G邮
·如何建设企业网站 ·找商机-用易搜网
·企业信息免费查询 ·企业产品免费宣传
·注册CN域名只需1元 ·国际中文域名注册
·Linux 虚拟主机 ·Windows 虚拟主机
·申请免费邮箱 ·免费企业G邮箱申请
格斗天王2000威力加强版
游戏:格斗天王2000威力加强版
上网好帮手,下载不中毒的浏览器
让您的网站开始获取收入
 最新文章
首页 | 关于我们 | 联系方式 | 谷搜动态 | 支付中心 | 友情链接 | 工作机会 | 网站地图 | 意见反馈
© 2007 谷搜-IT服务