当前位置:首页 » 编程博文
开发技术指南» 文章正文
    引言: (序:已经有好几个朋友问到怎么使用
 

 

 ·c++中的mutable和const     »显示摘要«
    摘要: 声明:这里讨论的const是用来修饰函数的const,而不是用来修饰变量的const。虽然是同一个关键字,但yayv还是觉得把他们当作2个关键字来理解更好一些。 c++中const关键字用来表示一个常量,同时const也用来修饰函数。yayv在这个要明确的概念是:const所修饰的函数只能是类的成员函数,因为const所修饰的函数中,要由编译器负责保护类的成员变量不被修改。而相对的,muta......
    摘要:译者说明:欢迎访问我的blog: http://blog.csdn.net/daidaoke2001/ 译文中的错误或不当之处望不吝指出,这也是我坚持翻译工作的最大动力。 我的email:tangtaike@163.com 如需转载,请事先通知。 第三章第三节 编程模型的关键元素 和前一章一样,我会在本章最后部分重点讲述图表组件编程模型的关键元素。本节中列出的属性,方法和事......


测试你的eclipse插件 --- eclipse-Automated-Tests分析
(序:已经有好几个朋友问到怎么使用eclipse-automated-tests来做插件的测试了,既然是这样,那就写一篇使用入门性质的文章来作统一的回复吧.本文不涉及插件开发的理论)

eclipse提供了一种可扩展的开放式插件机制,其本身的绝大多数功能都是以插件的方式提供的.同时,任何人都可以根据自己的意愿在eclipse的任何位置扩展实现自己的插件以完成自己需要的功能.本文不会阐述如何开发这些插件(详细资料请查阅eclipse自带的帮助文档),而是将重点放在如何搭建eclipse的测试环境,测试我们自己开发的插件上. 【程序编程相关:在N-Gage上折腾一个Hello Wo

  【推荐阅读:从软件进化的角度看待EJB 和 banq

eclipse的插件必须依赖于eclipse的运行时环境才可以正常工作,我们可以将eclipse平台比喻作一个容器(container),插件必须在容器内才能够正常的运行.而我们常使用的一些测试框架,如junit,他本身也可以看做是一个容器,所有的测试集/案例(testsuite/ testcase)也必须在这个容器下才可以运行.简单的说,工作代码与测试代码都需要工作在自己特定的容器之中.这不能不说是一个矛盾. 【扩展信息:新型D.o.S(伪造TCP连接进行数据传

 

 

如果我们的系统将业务逻辑与平台(容器)相关的实现区分得非常清楚,那么我们可以避免这样的矛盾.可是一般来讲要完全做到这一点并不是那么容易的.junit为了解决这个矛盾也提供了一些针对不同容器的框架,如针对基于struts构架的webapp系统的strutstestcase for junit( http://strutstestcase.sourceforge.net/ ),这个框架提供了两套测试方案:容器内测试与容器外测试.所谓的容器内测试,就是将工作代码与测试代码整合在同一个环境内运行.对于eclipse而言,虽然junit并没有提供这样的测试框架,但幸运的是eclipse项目小组从eclipse自身的角度提供了一个测试框架:eclipse-automated-tests.

 

eclipse-automated-tests最早是与eclipse-sdk-2.0.2一起发布的,其目的就是将junit测试环境与eclipse运行环境进行整合.实际上这个测试框架也是eclipse项目组自己也用来测试eclipse平台的框架.

 

下面我们将阐述如何使用这个框架测试eclipse的插件,在此之前需要说明本文使用的环境:windows2k-sp4.eclipse-sdk-2.1.2-win32.eclipse-automated-tests-2.1.2.

 

首先下载并解开eclipse-automated-tests-2.1.2.zip包,其中包含了8个文件,除了两个说明性质的html文件,其他6个文件分别是用于:

 

1.eclipse-junit-tests-2.1.2rc3.zip :测试集包文件,这是整个框架最核心的部分,其中包含了针对eclipse各个部分的测试集,并且这些测试集都是以插件的方式工作的,这一点十分重要.每个测试集都包含了plugin.xml.test.xml两个配置文件:plugin.xml定义了该测试集(插件)的运行环境,其中最重要的部分是定义了运行该测试集需要依赖哪些插件(require标签);test.xml定义了测试集如何运行,这是一个很典型的ant配置文件,其中最重要的部分是定义了测试的入口类.其他的文件还有运行时库*.jar与源代码包*src.zip等.需要额外说明的是,在不更改运行测试框架方式的前提下,这个测试集包文件是无需解开的.

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文件,该文件的作用是初始化测试环境并启动测试平台.该文件首先定义了一些环境环境变量,通常这里不用修改.然后他要清除上一次测试留下的文件(报告除外):

if exist eclipse rmdir /s /q eclipse   

if exist workspace rmdir /s /q workspace

 

    接下来他会重新解压缩eclipse包与测试集包

unzip -qq -o eclipse-sdk-*.zip                                     

unzip -qq -o -c eclipse-junit-tests*.zip */plugins/org.eclipse.test*

 

实际上在我们开发自己的测试集时这样做的确很浪费时间,并不是每次运行测试集都需要全新的平台,所以这里在开发测试集的时候可以先注释掉(删除workspace的部分除外).当然在最后测试集发布时还是建议按照这样的方式.

 

接下来他会启动测试平台,并指定了ant使用的配置文件:test.xml.默认的test.xml可以分为6个部分:参数配置.安装环境.启动测试定义.测试定义.启动全部测试.生成报告.安装环境部分同样可以在我们开发测试集时先跳过.还是按照工作流来说明这个文件是如何工作的.默认的target是all:

<target name="all">                      

    <antcall target="jdtdebug" />        

    <antcall target="ant" />             


...   下一页
 ·scjp须知:java.lang.math     »显示摘要«
    摘要:ceil(double) 返回不小于该参数的最小整数 (最接近负无穷)的 double 型值。 floor(double) 返回不大于该参数的最大整数 (最接近正无穷)的 double 型值。 ieeeremainder(double, double) 计算两个参数按照 ieee 754 标准规定的求余运算。 pow(double, double) 返回参数一的参数二次方。 random() 返回......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE