`
dananhai
  • 浏览: 92222 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

转 基于swt,使用easymock测试驱动开发-gui

    博客分类:
  • java
阅读更多
作者:未知  来源:从互联网收集整理并转载  发布时间:2005-3-9 1:47:33
减小字体 增大字体

  《测试驱动开发-实用指南》第八章的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;
 }
}
分享到:
评论

相关推荐

    easymock2-javadoc-2.5.2-12.el7.noarch.rpm

    离线安装包,亲测可用

    easymock2-2.5.2-12.el7.x64-86.rpm.tar.gz

    easymock是一个用于Java语言的单元测试工具,它允许开发者创建和使用假对象来模拟测试中的依赖项。开发者可以通过创建一个简单的接口来模拟整个类的行为,这样在测试时不需要依赖真实的对象实现。easymock通过其模拟...

    easymock2-2.5.2-12.el7.noarch.rpm

    离线安装包,亲测可用

    easymock2-javadoc-2.5.2-12.el7.x64-86.rpm.tar.gz

    EasyMock是一款使用广泛、功能强大的Java mock框架,它允许开发者在编写测试代码时,轻松创建一个对象的模拟实现。这种模拟对象可以模拟复杂的对象行为,使得单元测试可以专注于测试代码本身的功能,而不是依赖的...

    powermock-easymock-junit-1.6.1.zip

    在"powermock-easymock-junit-1.6.1.zip"中,这些工具已经集成在一起,方便开发者同时利用PowerMock和EasyMock的能力来编写JUnit测试。 在实际应用中,我们通常会按照以下步骤进行: 1. 引入PowerMock和EasyMock的...

    powermock-easymock-junit-1.5.4.zip

    PowerMock与EasyMock是Java单元测试领域中的两个重要库,它们与JUnit结合使用,能够帮助开发者在测试过程中模拟复杂的对象行为和系统环境。这个压缩包"powermock-easymock-junit-1.5.4.zip"很可能包含了这三个库的...

    EasyMock 3.1相关jar(所有)

    还在为EasyMock使用时出异常而烦恼? 本压缩包包含除了Junit4之外easyMock3.1所用到的所有相关jar包,junit4可自己导入eclipse自带的即可 本压缩包包括: asm.jar cglib.jar objenesis.jar等 其中asm与cglib已兼容,放心...

    easymock-javadoc-1.2-22.el7.x64-86.rpm.tar.gz

    easymock-javadoc-1.2-22.el7.x64-86.rpm.tar.gz文件是一个压缩包格式的安装文件,包含了用于Red Hat Enterprise Linux(RHEL)7版本的Java单元测试工具Easymock的文档包及相关依赖文件。Easymock是一个使用Java编写...

    rh-java-common-easymock3-javadoc-3.3-1.5.el7.noarch.rpm

    官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装

    rh-java-common-easymock2-javadoc-2.5.2-12.15.el7.noarch.rpm

    官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装

    easymock-4.0-bundle

    手动的构造 Mock 对象会给开发人员带来额外的编码量,而且这些为创建 Mock 对象而编写的代码很有可能引入错误。目前,有许多开源项目对动态构建 Mock 对象提供了支持,这些项目能够根据现有的接口或类动态生成,这样...

    rh-java-common-easymock3-3.3-1.5.el7.noarch.rpm

    官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装

    rh-java-common-easymock2-2.5.2-12.15.el7.noarch.rpm

    官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装

    easymockclassextension-3.1

    扩展架包啊...easymockclassextension-3.1

    com.springsource.org.easymock.classextension-sources-2.3.0.jar

    jar包,官方版本,自测可用

    easymockclassextension-3.0.jar

    easymockclassextension-3.0.jar org.easymock.classextension.EasyMock.

    easymock-2.5.2.jar

    easymock-2.5.2.jar easymock-2.5.2.jar 单元测试

    转:EasyMock 单元测试

    在软件开发过程中,单元测试是确保代码质量的重要环节。它允许开发者独立地测试代码的各个模块,确保每个部分都能正常工作。EasyMock 是一个流行的 Java 单元测试框架,它帮助开发者创建模拟对象来测试目标类的行为...

    easymock测试servlet

    Mocking在软件开发中是一种非常重要的测试技术,它允许开发者模拟复杂的系统组件,如外部服务、数据库连接或在本例中的Servlet,以便于隔离和测试单个代码单元。Easymock是一个流行的Java库,它提供了创建和管理模拟...

    easymock-1.2-22.el7.x64-86.rpm.tar.gz

    easymock-1.2-22.el7.x64-86.rpm.tar.gz文件是一个包含easymock软件和相关依赖的安装包,适用于Linux系统用户,特别是那些使用rpm包管理器的用户。通过简洁的安装步骤和友好的安装指导,用户可以快速地将easymock...

Global site tag (gtag.js) - Google Analytics