跟我一步步构建一个完整的Eclipse插件

1.创建一个执行测试的菜单项

By www.coolhou.com 李明

  http://www.blogjava.net/coolhou )

LimingMail1998@yahoo.com.cn

 

 

  title01.gif

文档描述:

由于工作原因,也是本人的兴趣,接触到Eclipse的插件编写工作。现将一些学习笔记和心德共享出来,同大家分享。由于本人对写作向来没什么天赋(上学时,语文一直在及格与不及格的边缘徘徊),由什么错别字之类的大家谅解。对于技术上的不同见解和看法请大家讨论。

本文并非全部原创,所描述的JUnit Plugin是引用《Contributing to Eclipse》一书中的内容,文章的内容加入我本人的一些理解,所以有些地方加入了一些扩展和改变。此文算是一个读书笔书吧。

 

文档经历:

1.    2005-10-26 创建一个执行测试的菜单项

2.    2005-10-27 创建一个执行测试的菜单

3.    2005-11-01 将原有3.0的工程改版成新版的3.1.1

 

 

Eclipse JUnit Plugin

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       文件 -> 新建 -> 插件项目

LM-Eclipse-JUnit-(01)创建一个执行测试的菜单项-01.gif
(
1 - 1)

l       填入项目名称->下一步->完成

LM-Eclipse-JUnit-(01)创建一个执行测试的菜单项-02.gif

(
1 - 2)

LM-Eclipse-JUnit-(01)创建一个执行测试的菜单项-03.gif
(
1 - 3)

1.3.2.    在根下建立plugin.xml

   id="com.coolhou.student.eclipse.junit"

   name="Junit 插件"

   version="1.0.0"

   provider-name="COOLHOU"

   class="com.coolhou.student.eclipse.junit.JunitPlugin">

 

  

      name="junit.jar">

         name="*"/>

     

  

 

   

      plugin="org.eclipse.ui"/>

      plugin="org.eclipse.core.runtime"/>

      plugin="org.eclipse.jdt.core"/>

  

    声明一个弹出菜单项 -->

    point="org.eclipse.ui.popupMenus">

       

            id="com.coolhou.student.eclipse.junit.runtest"

            objectClass="org.eclipse.jdt.core.IType"           

            >

           

                 id="com.coolhou.student.eclipse.junit.runtest.action"

                label="运行测试"

                enablesFor="1"

                >

           

                

   

 

 

表:1.1 声明一个弹出菜单项

plugin.xml

描述

point="org.eclipse.ui.popupMenus">

说明我们要对弹出菜单进行扩展

我们要扩展某个特定类型的所有对象

id="com.coolhou.student.eclipse.junit.runtest"

全局惟一ID

objectClass="org.eclipse.jdt.core.IType"

所有被选中的IType都将拥有这一项目

这是一个菜单项

id="com.coolhou.student.eclipse.junit.runtest.action"

全局惟一ID

label="运行测试"

项目的菜单中显示的字样

enablesFor="1"

当且公当一个元素被选中时,才能使用这个菜单项

      这是要特别指出的是IType是什么?Eclipse(这实际上是org.eclipse.jdt.core插件所提供的JDT)定义了一组接口,用于代表Java程序中的各种元,例如:项目,包,编译单元,类型(类和接口)

1.3.3.    修改META-INF/MANIFEST.MF文件

Manifest-Version: 1.0

Bundle-ManifestVersion: 2

Bundle-Name: Junit 插件

Bundle-SymbolicName: com.coolhou.student.eclipse.junit; singleton:=true

Bundle-Version: 1.0.0

Bundle-Activator: com.coolhou.student.eclipse.junit.JunitPlugin

Bundle-Vendor: COOLHOU

Bundle-Localization: plugin

Require-Bundle: org.eclipse.ui,

 org.eclipse.core.runtime,

 org.eclipse.jdt.core

Eclipse-AutoStart: true

1.3.4.    兴奋的时刻:第一次运行插件

l       启动运行时工作台

LM-Eclipse-JUnit-(01)创建一个执行测试的菜单项-05.gif
(
1 - 4)

l         创建一个测试项目和Java

LM-Eclipse-JUnit-(01)创建一个执行测试的菜单项-04.gif
(
1 - 5)

l       在“包资源管理器”中选择要测试的类,弹出上下文菜单,点击“运行测试”

LM-Eclipse-JUnit-(01)创建一个执行测试的菜单项-06.gif
(
1 - 6)

l       被打击

LM-Eclipse-JUnit-(01)创建一个执行测试的菜单项-07.gif
(
1 - 7)

      点击后出现提交窗口,当然这是正常的,因为我们还没有写具体的实现。

1.4.   回顾

      我们为所有类型为ITypejava元素贡献了一个名为“运行测试”的动作,到目前为止,我们只声明了一个菜单项,还没有实现这个运作。

1.5.   前行的路标

l       可以指定菜单项出现的位置

l       国际化

l       更精确的Contribution

1.6.   获取源码

下载