(序:已经有好几个朋友问到怎么使用eclipse-Automated-Tests来做插件的测试了,既然是这样,那就写一篇使用入门性质的文章来作统一的回复吧。本文不涉及插件开发的理论)
Eclipse提供了一种可扩展的开放式插件机制,其本身的绝大多数功能都是以插件的方式提供的。同时,任何人都可以根据自己的意愿在Eclipse的任何位置扩展实现自己的插件以完成自己需要的功能。本文不会阐述如何开发这些插件(详细资料请查阅Eclipse自带的帮助文档),而是将重点放在如何搭建Eclipse的测试环境,测试我们自己开发的插件上。
Eclipse的插件必须依赖于Eclipse的运行时环境才可以正常工作,我们可以将Eclipse平台比喻作一个容器(Container),插件必须在容器内才能够正常的运行。而我们常使用的一些测试框架,如JUnit,他本身也可以看做是一个容器,所有的测试集/案例(TestSuite/ TestCase)也必须在这个容器下才可以运行。简单的说,工作代码和测试代码都需要工作在自己特定的容器之中。这不能不说是一个矛盾。
如果我们的系统将业务逻辑和平台(容器)相关的实现区分得非常清楚,那么我们可以避免这样的矛盾。可是一般来讲要完全做到这一点并不是那么容易的。JUnit为了解决这个矛盾也提供了一些针对不同容器的框架,如针对基于Struts构架的Webapp系统的StrutsTestCase for JUnit( http://strutstestcase.sourceforge.net/ ),这个框架提供了两套测试方案:容器内测试和容器外测试。所谓的容器内测试,就是将工作代码和测试代码整合在同一个环境内运行。对于Eclipse而言,虽然JUnit并没有提供这样的测试框架,但幸运的是Eclipse项目小组从Eclipse自身的角度提供了一个测试框架:eclipse-Automated-Tests。
eclipse-Automated-Tests最早是和Eclipse-SDK-
下面我们将阐述如何使用这个框架测试Eclipse的插件,在此之前需要说明本文使用的环境:Windows2K-SP4、eclipse-SDK-
首先下载并解开eclipse-Automated-Tests-
1.eclipse-junit-tests-
2.JUNIT.XSL :用于生成junitreport的样式文件
3.runtests :unix下启动测试框架的文件
4.runtests.bat :Windows下启动测试框架的文件
5.test.xml :测试框架的主要ant配置文件
6.test.properties :ant配置文件对应的属性文件
至此,还需要copy一个Eclipse的SDK包到这个目录下,然后在命令行中运行runtests.bat(本文都以Windows环境为例,如果是unix系统请自己做相应的调整,以后不再额外说明)就可以以默认的方式启动这个测试框架。我们按照运行的工作流来依次说明涉及的各个部分。
首先是runtests.bat文件,该文件的作用是初始化测试环境并启动测试平台。该文件首先定义了一些环境环境变量,通常这里不用修改。然后他要清除上一次测试留下的文件(报告除外):






