作者:未知 来源:从互联网收集整理并转载 发布时间: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;
}
}
分享到:
相关推荐
离线安装包,亲测可用
离线安装包,亲测可用
在"powermock-easymock-junit-1.6.1.zip"中,这些工具已经集成在一起,方便开发者同时利用PowerMock和EasyMock的能力来编写JUnit测试。 在实际应用中,我们通常会按照以下步骤进行: 1. 引入PowerMock和EasyMock的...
PowerMock与EasyMock是Java单元测试领域中的两个重要库,它们与JUnit结合使用,能够帮助开发者在测试过程中模拟复杂的对象行为和系统环境。这个压缩包"powermock-easymock-junit-1.5.4.zip"很可能包含了这三个库的...
还在为EasyMock使用时出异常而烦恼? 本压缩包包含除了Junit4之外easyMock3.1所用到的所有相关jar包,junit4可自己导入eclipse自带的即可 本压缩包包括: asm.jar cglib.jar objenesis.jar等 其中asm与cglib已兼容,放心...
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
手动的构造 Mock 对象会给开发人员带来额外的编码量,而且这些为创建 Mock 对象而编写的代码很有可能引入错误。目前,有许多开源项目对动态构建 Mock 对象提供了支持,这些项目能够根据现有的接口或类动态生成,这样...
EasyMock主要是为测试提供模拟数据,比如你可以模拟HttpServletRequest。
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
扩展架包啊...easymockclassextension-3.1
jar包,官方版本,自测可用
easymockclassextension-3.0.jar org.easymock.classextension.EasyMock.
easymock-2.5.2.jar easymock-2.5.2.jar 单元测试
在软件开发过程中,单元测试是确保代码质量的重要环节。它允许开发者独立地测试代码的各个模块,确保每个部分都能正常工作。EasyMock 是一个流行的 Java 单元测试框架,它帮助开发者创建模拟对象来测试目标类的行为...
Mocking在软件开发中是一种非常重要的测试技术,它允许开发者模拟复杂的系统组件,如外部服务、数据库连接或在本例中的Servlet,以便于隔离和测试单个代码单元。Easymock是一个流行的Java库,它提供了创建和管理模拟...
jar包,官方版本,自测可用
easymockclassextension-2.4.jar是一个很齐全的jar包,可以放心下载使用
easymock需要用到的包,没有它不行,easymock-3.1.jar