网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > JAVA > 开源技术 > JUnit > 检测代码是否有Junit Test Class的小功能  

检测代码是否有Junit Test Class的小功能

2007-03-13  作者:王凌华  来源:王凌华的blog  点评 投稿 收藏

去年为了公司的Junit需求做了一个检测我们的代码是否有Junit Test Class的一个小Tool, 今天又翻出来看了下,觉得里面的有个小功能可能对大家有用,如果你也觉得有用,我觉得很荣幸。:)

1.用途:
指定一个类, 分析出类中所有方法的精确位置- 也就是某个方法在哪两行之间。
(大家可以考虑一下怎么做,然后再看看我的方法是不是太笨了。-_-!!)

2.用法:
新建一个类,将这几行代码加到mail方法,例如:
网管bitscn_com

 1     public   static   void  main(String[] args)  {

网管论坛bbs_bitsCN_com


 2          //  CVSParseMethod
 3          //  C:/Documents and
 4          //  Settings/hut/workspace/junitcheck/src/branding/src/java/com/webex/webapp/branding/common/BrandingTools.java
 5         CVSParseMethod x  =   new  CVSParseMethod( " C:\\Documents and Settings\\hut\\workspace\\AccountMethodLocation\\ " , 网管u家u.bitsCN.com
 6                  " net.blogjava.xmp123.CVSClass " );
 7
 8          // src/java/com/webex/webapp/urlapi/biz/URLAPIMgrImpl.java
 9          // C:/Documents and Settings/hut/workspace/junitcheck/src/meetingcenter/src/java/com/webex/webapp/meetingcenter/action/common/QuickStartInviteAction.java 网管联盟bitsCN_com
10         System.out.println(x.parseAction());
11     }

[补充]: CVSParseMethod的构造函数是CVSParseMethod(String String1,String String2), String1是目标的java文件在文件系统的位置,String2是类的全名..如net.blogjava.xmp123.CVSClass.
BTW:不要忘记将后面download的jar导过来。

结果会打在Console里,象这样: 网管论坛bbs_bitsCN_com

Loading net.blogjava.xmp123.CVSClass
Loaded net.blogjava.xmp123.CVSClass
Found java source file in C:\Documents and Settings\hut\workspace\AccountMethodLocation
/ net / blogjava / xmp123 / CVSClass.java 网管论坛bbs_bitsCN_com
Parsing net.blogjava.xmp123.CVSClass
Parsed a common 
class  and brackets can matched the methods correctly
MethodParseEngine have searched 
10  methods(Including constructors).
Completed :Spend 
0.187  seconds to parse  this  file.
网管网www_bitscn_com

[
public  CVSClass(String) locate between  52  and  123
public  CVSMethod[] getCvsMethodArray() locate between  128  and  130
public  CVSConstructor[] getCvsConstructorArray() locate between  135  and  137 网管网www.bitscn.com
public  Set getMethodSet() locate between  142  and  144
public  Set getConstructorSet() locate between  149  and  151
public  String getClasspath() locate between  156  and  158 网管联盟bitsCN_com
public  List getMethodList() locate between  163  and  165
public  String getClassName() locate between  174  and  176
public   boolean  equals(Object) locate between  183  and  188 中国网管联盟bitsCN.com
public   int  hashCode() locate between  193  and  196
]

3. 我是怎么做的。

.用java反射拿出所有的的类的构造函数和方法。
.读java源文件,通过匹配左右括号来匹配方法并记录出合适的位置。

4. 存在的问题:
到目前为止,这个小程序至少不能分析它自己的主类:CVSParseMethod(很多Exceptions), 因为这个类里面定义的一些String中含用 { }而导致匹配的时候出错。呵呵。但是我保证,它应该在>90%的概率下正常工作。:) 

5. 下载的地址:
网管论坛bbs_bitsCN_com

http://www.blogjava.net/Files/xmp123/CountMethodLocation.zip

TAGs功能   代码   是否   检测   public   and   locatebetween   方法    
 上一篇:没有了   下一篇:JForum 2.1.7 源程序编译草记
检测代码是否有Junit Test Class的小功能 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
最新推荐文章:
网管论坛交流: