java

位置:IT落伍者 >> java >> 浏览文章

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


发布日期:2024年01月12日
 
检测代码是否有Junit Test Class的小功能

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

用途

指定一个类 分析出类中所有方法的精确位置 也就是某个方法在哪两行之间

(大家可以考虑一下怎么做然后再看看我的方法是不是太笨了_!!)

用法

新建一个类将这几行代码加到mail方法例如


  示例使用代码

    public  static  void main(String[]args)  {

  // CVSParseMethod

  // C:/Documentsand

  // Settings/hut/workspace/junitcheck/src/branding/src/java/com/webex/webapp/branding/common/BrandingToolsjava

  CVSParseMethodx =  new CVSParseMethod( C:\\DocumentsandSettings\\hut\\workspace\\AccountMethodLocation\\

   netblogjavaxmpCVSClass );

  

  // src/java/com/webex/webapp/urlapi/biz/URLAPIMgrImpljava

  // C:/DocumentsandSettings/hut/workspace/junitcheck/src/meetingcenter/src/java/com/webex/webapp/meetingcenter/action/common/QuickStartInviteActionjava

  Systemoutprintln(xparseAction());

}

[补充]: CVSParseMethod的构造函数是CVSParseMethod(String StringString String) String是目标的java文件在文件系统的位置String是类的全名如netblogjavaxmpCVSClass

BTW:不要忘记将后面download的jar导过来

结果会打在Console里象这样

LoadingnetblogjavaxmpCVSClass

LoadednetblogjavaxmpCVSClass

FoundjavasourcefileinC:\DocumentsandSettings\hut\workspace\AccountMethodLocation / net / blogjava / xmp / CVSClassjava

ParsingnetblogjavaxmpCVSClass

Parsedacommon class andbracketscanmatchedthemethodscorrectly

MethodParseEnginehavesearched methods(Includingconstructors)

Completed:Spend secondstoparse this file

[ public CVSClass(String)locatebetween and

public CVSMethod[]getCvsMethodArray()locatebetween and

public CVSConstructor[]getCvsConstructorArray()locatebetween and

public SetgetMethodSet()locatebetween and

public SetgetConstructorSet()locatebetween and

public StringgetClasspath()locatebetween and

public ListgetMethodList()locatebetween and

public StringgetClassName()locatebetween and

public  boolean equals(Object)locatebetween and

public  int hashCode()locatebetween and

]

我是怎么做的

用java反射拿出所有的的类的构造函数和方法

读java源文件通过匹配左右括号来匹配方法并记录出合适的位置

存在的问题

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

下载的地址

               

上一篇:Struts里提交中文表单到ActionForm的乱码问题

下一篇:Struts模块化编程经典实战教程(二)