Eclipse JUnit Plugin( 创建一个执行测试的菜单项 )
By www.coolhou.com 灰石
By www.coolhou.com 灰石
( http://blog.csdn.net/lmstone )
( LimingMail1998@yahoo.com.cn )
文档描述:
由于工作原因,也是本人的兴趣,接触到Eclipse的插件编写工作。现将一些学习笔记和心德共享出来,同大家分享。由于本人对写作向来没什么天赋(上学时,语文一直在及格与不及格的边缘徘徊),由什么错别字之类的大家谅解。对于技术上的不同见解和看法请大家讨论。
本文并非全部原创,所描述的JUnit Plugin是引用《Contributing to Eclipse》一书中的内容,文章的内容加入我本人的一些理解,所以有些地方加入了一些扩展和改变。此文算是一个读书笔书吧。
文档经历:
1. 2005-10-26 创建一个执行测试的菜单
导航
1. 创建一个执行测试的菜单项
1.1. 我们的计划
1.2. 要实现的功能
1.3. 步骤
1.3.1. 建立插件项目
1.3.2. 编辑plugin.xml
1.3.3. 兴奋的时刻:第一次运行插件
1.4. 回顾
1.5. 前行的路标
1.6. 获取源码
1. 创建一个执行测试的菜单项
1.1. 我们的计划
l 如何增加一个动作,使其在被选中的对象的上下文菜单中出现。
1.2. 要实现的功能
1. 在“包资源管理器”中选择一个测试用例类
2. 弹出上下文菜单(就是在要测试的类中点出鼠标右键,弹出的菜单)
3. 选择“运行测试”(这是“运行测试”是我们将要加入的功能项)
4. 执行测试
5. 弹出一个对括框,显示测试用例中所有测试的执行结果。
1.3. 步骤
1.3.1. 建立插件项目l 文件 -> 新建 -> 插件项目
(图1 - 1)
l 填入项目名称->下一步->完成
(图1 - 2)
(图1 - 3)
1.3.2. 编辑plugin.xml <!—声明一个弹出菜单项 -->
<extension point="org.eclipse.ui.popupMenus">
<objectContribution
id="com.coolhou.student.eclipse.junit.runtest"
objectClass="org.eclipse.jdt.core.IType"
>
<action
id="com.coolhou.student.eclipse.junit.runtest.action"
label="运行测试"
enablesFor="1"
>
</action>
</objectContribution>
</extension>
表:1.1 声明一个弹出菜单项
plugin.xml
描述
<extension point="org.eclipse.ui.popupMenus">
说明我们要对弹出菜单进行扩展
<objectContribution
我们要扩展某个特定类型的所有对象
id="com.coolhou.student.eclipse.junit.runtest"
全局惟一ID
objectClass="org.eclipse.jdt.core.IType"
所有被选中的IType都将拥有这一项目
<action
这是一个菜单项
id="com.coolhou.student.eclipse.junit.runtest.action"
全局惟一ID
label="运行测试"
项目的菜单中显示的字样
enablesFor="1"
当且公当一个元素被选中时,才能使用这个菜单项
这是要特别指出的是IType是什么?Eclipse(这实际上是org.eclipse.jdt.core插件所提供的JDT)定义了一组接口,用于代表Java程序中的各种元,例如:项目,包,编译单元,类型(类和接口)。
1.3.3. 兴奋的时刻:第一次运行插件l 启动”运行时工作台”
(图1 - 4)
l 创建一个测试项目和Java类
(图1 - 5)
l 在“包资源管理器”中选择要测试的类,弹出上下文菜单,点击“运行测试”
(图1 - 6)
l 被打击
(图1 - 7)
点击后出现提交窗口,当然这是正常的,因为我们还没有写具体的实现。
1.4. 回顾 我们为所有类型为IType的java元素贡献了一个名为“运行测试”的动作,到目前为止,我们只声明了一个菜单项,还没有实现这个运作。
1.5. 前行的路标
l 可以指定菜单项出现的位置
l 国际化
l 更精确的Contribution
1.6. 获取源码
[url=http://www.coolhou.com/download/code/eclipse/junit/com.coolhou.student.eclipse.junit(1).rar]下载