Junit和javadoc的完美结合
来源:互联网 发布:python分布式爬虫框架 编辑:程序博客网 时间:2024/05/22 04:29
实际遇到的问题:
在编写junit的测试代码的时候,需要为每个Case编写注释作者等信息。而执行结果平台也需要知道这些信息,而不是通过查看测试代码来发现这些信息,这就需要在测试执行的时候读取到javadoc的信息。
本文就是针对这个问题的解决方案
首先,由于JavaDoc是只能读取紧贴函数的注释,目前我们Java代码中都被@Test占据。所以我想到只能修改@Test接口
于是将Junit中@Test接口修改如下:
public @interface Test {
/**
* Default empty exception
*/
static class None extends Throwable {
private static final long serialVersionUID= 1L;
private None() {
}
}
/**
* Optionally specify <code>expected</code>, a Throwable, to cause a test method to succeed iff
* an exception of the specified class is thrown by the method.
*/
Class<? extends Throwable> expected() default None.class;
/**
* Optionally specify <code>timeout</code> in milliseconds to cause a test method to fail if it
* takes longer than that number of milliseconds.*/
long timeout() default 0L;
String author(); //新增
String description(); //新增
}
新增了作者和注释两个新的属性;
应用代码(即编写测试用例的时候,在@Test中必须注明作者和描述信息属性)如下:
public class TestTag {
@Test(author="elbert.chenh",description="TestCase1")
public void TestCase1()
{
System.out.println("OK");
}
}
测试代码如下:
public class TestTestTag {
public static void main(String[] args) {
TestTag tt = new TestTag();
try {
Annotation[] annotation = tt.getClass().getMethod("TestCase1")
.getAnnotations();
for (Annotation tag : annotation) {
System.out.println("Tag is:" + tag);
System.out.println("tag.name()" + ((Test) tag).author());
System.out.println("tag.age()" + ((Test) (tag)).description());
}
} catch (NoSuchMethodException e) {
e.printStackTrace();
}
}
}
- Junit和javadoc的完美结合
- JUnit和ant结合
- XML和J2EE的完美结合
- XML和J2EE的完美结合
- XML和J2EE的完美结合
- XML和J2EE的完美结合
- Screen和Emacs的完美结合
- MPL和wxPython的结合完美
- XML和J2EE的完美结合
- OpenCV和MFC的完美结合
- ThinkPHP和FCKeditor编辑器的完美结合
- libvlc 和Firebreath 的完美结合
- 行转列--Excel和数据库的完美结合
- Espresso和UIAutomator - 完美的结合
- BaseActivity 和 ToolBar 的完美结合
- 插值器和ScrollView的完美结合
- TabLayout和viewpager的完美结合
- Spring回顾之五 —— 测试,JUnit与SpringTest的完美结合
- 转贴:数据结构:Hash查找
- VC实现系统热键激活后台服务程序
- zz--水煮TCPMP
- 初来乍到。多多指教
- 如何管理“吃力不讨好”的软件定制项目?
- Junit和javadoc的完美结合
- C# 连接Oracle数据库
- Java读取配置文件
- DWR是什么
- linux下md5sum的使用
- WIN7 Activation,完美激活Windows 7,开机无字符,无OEM信息
- 成功者的8个心态
- 数据结构:插入排序/冒泡排序/快速排序/归并排序/堆排序
- 苹果、Google、亚马逊的简洁之美