您的位置:首页 > 其它

利用反射模仿JUnit写一个自己的测试驱动类

2014-04-22 01:06 375 查看
body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI",Tahoma,Helvetica,Sans-Serif,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-serif,宋体, PMingLiU,serif; font-size: 10.5pt; line-height: 1.5;}html, body{ }h1 { font-size:1.5em; font-weight:bold;}h2 { font-size:1.4em; font-weight:bold;}h3 { font-size:1.3em; font-weight:bold;}h4 { font-size:1.2em; font-weight:bold;}h5 { font-size:1.1em; font-weight:bold;}h6 { font-size:1.0em; font-weight:bold;}img { border:0; max-width: 100%;}blockquote { margin-top:0px; margin-bottom:0px;}table { border-collapse:collapse; border:1px solid #bbbbbb;}td { border-collapse:collapse; border:1px solid #bbbbbb;}利用反射模仿JUnit写一个自己的测试驱动类利用反射模仿JUnit写一个自己的测试驱动类

动机

这几天为了学Hibernate的集合类型映射回头复习了一下JCF(Java Collection Framework),于是不可避免的写了很多小程序,比如下面这个TestMap类用来复习Map:


package sample.set;

import java.util.HashSet;
import java.util.Set;

/**
*
* @author CodingMyWorld
*/
public class TestSet {
// 说明Set中存放的是对象的引用,不能有重复对象
private void testElementStore() {
Set set = new HashSet();

String s1 = "hello";
String s2 = s1;
String s3 = "world";

set.add(s1);
set.add(s2);
set.add(s3);

System.out.println("set1 size : " + set.size());
System.out.println("set1 : " + set);
}

// Set使用equals比较两个元素是否相等
private void testElementEqual() {
Set set = new HashSet();

String s1 = "hello";
String s2 = "hello";

set.add(s1);
set.add(s2);

System.out.println("set2 size : " + set.size());
System.out.println("set2 : " + set);
}
}



我现在只需要在任何一个main方法中这么写就行了,比之前手动挨个调用方法方便了很多。


public static void main(String[] args) {
new MyTestRunner()
.addTestCase(TestMap.class)
.addTestCase(TestSet.class)
.run();
}

最后,看到运行结果整齐的输出到控制台,心情大好so(≧v≦)o~~


开始执行。共有2个测试用例

==>TestCase:sample.set.TestSet
----方法testElementStore
set1 size : 2
set1 : [hello, world]
----方法testElementEqual
set2 size : 1
set2 : [hello]
<==完成!

==>TestCase:sample.map.TestMap
----方法test1
size : 4
map["2"] : Tuesday
----方法test2
size : 2
map : {1=Monday, one=Monday}
----方法test3
3 : wednesday
2 : Tuesday
1 : Monday
4 : Thursday
<==完成!

执行完毕。共有2个测试用例通过测试!



来自为知笔记(Wiz)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: