第一步:创建一个java工程,在工程中创建一个被单元测试的Student数据类,代码如下:
1 packagecom.junittest.yu;2
3 public classStudent4 {5 privateString name;6 privateString sex;7 private inthigh;8 private intage;9 privateString school;10
11 public Student(String name, String sex ,int high, intage, String school)12 {13 this.name =name;14 this.sex =sex;15 this.high =high;16 this.age =age;17 this.school =school;18 }19 publicString getName()20 {21 returnname;22 }23 public voidsetName(String name)24 {25 this.name =name;26 }27 publicString getSex()28 {29 returnsex;30 }31 public voidsetSex(String sex)32 {33 this.sex =sex;34 }35 public intgetHigh()36 {37 returnhigh;38 }39 public void setHigh(inthigh)40 {41 this.high =high;42 }43 public intgetAge()44 {45 returnage;46 }47 public boolean setAge(intage)48 {49 if (age >25)50 {51 return false;52 }53 else
54 {55 this.age =age;56 return true;57 }58 }59
60
61 publicString getSchool()62 {63 returnschool;64 }65 public voidsetSchool(String school)66 {67 this.school =school;68 }69
70 }
部分截图如下:
图 1-1
第二步:在eclipse下单元测试这个类
首先,导入Junit包:选中java工程,点击鼠标右键--->选择属性---->在窗口中选Java构建路径---->选择库--->右侧点击添加库---->在弹出的窗口列表中选中Junit---->下一步----->Junit 4---->完成--->确定
部分截图如下:
图 2-1
这样Junit 4包就导完了,接下来就是创建测试类:选中java工程,点击鼠标右键--->选择新建--->JUnit测试用例--->按图2-2编辑--->完成
图 2-2
将测试类和被测试类放在不同的包中(也可以放在同一个包中,此处只是为了区别),测试类(1)代码如下:
1 packagecom.junittest.yu.test;2
3 importcom.junittest.yu.Student;4
5 importjunit.framework.TestCase;6
7 public class StudentTest01 extendsTestCase8 {9
10 Student testStudent;11 //此方法在执行每一个测试方法之前(测试用例)之前调用
12 @Override13 protected void setUp() throwsException14 {15 //TODO Auto-generated method stub
16 super.setUp();17 testStudent = new Student("djm", "boy", 178, 24, "齐鲁工业");18 System.out.println("setUp()");19 }20
21 //此方法在执行每一个测试方法之后调用
22 @Override23 protected void tearDown() throwsException24 {25 //TODO Auto-generated method stub
26 super.tearDown();27 System.out.println("tearDown()");28 }29
30 //测试用例,测试Person对象的getSex()方法
31 public voidtestGetSex()32 {33 assertEquals("boy", testStudent.getSex());34 System.out.println("testGetSex()");35 }36
37 //测试Person对象的getAge()方法
38 public voidtestGetAge()39 {40 assertEquals(24, testStudent.getAge());41 System.out.println("testGetAge()");42 }43 }
完成后截图如下:
图 2-3
按以上方法创建测试类(2)代码如下:
1 packagecom.junittest.yu.test;2
3
4 importjunit.framework.TestCase;5
6 importcom.junittest.yu.Student;7
8 public class StudentTest extendsTestCase9 {10
11 privateStudent testStudent;12
13 @Override14 protected void setUp() throwsException15 {16 //TODO Auto-generated method stub
17 super.setUp();18 testStudent = new Student("steven_hu", "boy", 170 , 23, "上海理工");19 }20
21 @Override22 protected void tearDown() throwsException23 {24 //TODO Auto-generated method stub
25 super.tearDown();26 }27
28 public voidtestSetage()29 {30 assertTrue(testStudent.setAge(21));31 }32
33 public voidtestGetSchool()34 {35 //预期值和实际值不一样,测试时出现失败(Failure)
36 assertEquals("南昌大学", testStudent.getSchool());37 }38
39 public voidtestGetName()40 {41 assertEquals("hdy", testStudent.getName());42 }43 }
完成截图如下:
图 2-3
如果同时需要一起测试以上这两个测试类,可以通过TestSuite类实现,它相当于是一个套件,可以把所有测试类添进来一起运行测试
代码如下:
1 packagecom.junittest.yu.test;2
3
4
5 //import com.junittest.yu.test.StudentTest;
6 importcom.junittest.yu.test.StudentTest01;7
8 importjunit.framework.Test;9 importjunit.framework.TestSuite;10
11 public classAllTest12 {13
14 //static PersonTest p = new PersonTest();15 //static PersonTest p1 = new PersonTest();
16 public staticTest suite()17 {18 TestSuite suite = new TestSuite("Test for com.junittest.yu.test.");19 //suite.addTest(p);20 //suite.addTest(p1);
21 suite.addTestSuite(StudentTest.class);22 suite.addTestSuite(StudentTest01.class);23 returnsuite;24
25 }26 }
完成截图如下:
图 2-4
第三步:分别测试以上三个类(选中需要测试的类---->鼠标右键---->运行方式---->Junit 测试)
StudentTest01类测试结果截图如下:
图 3-1
StudentTest类测试结果截图如下:
图 3-2
AllTest类测试结果截图如下:
图 3-3
到此java类的单元测试就完成了。
第四步:将Eclipse中java代码上传到GitHub
图 4-1
在java项目上右击--->Team--->共享项目--->Git--->按图4-2操作--->完成
图 4-2
将代码上传到GitHub:
在java项目上右击--->Team--->commit--->选中所有文件--->commit --->见图4-3--->URI就是GitHub自己仓库的地址--->见图4-4--->见图4-5--->图4-6
图 4-3
图 4-4
图 4-5
图 4-6
至此上传完成。
完成各阶段所需时间:
1,被测类代码编写 30%
2,测试类代码编写 40%
3,运行测试 10%
4,上传代码到GitHub 20%
附:GitHub JUnit_Test库地址 https://github.com/yujk1230/JUnit_Test
参考资料:http://my.oschina.net/Chaos777/blog/349167
http://blog.csdn.net/stevenhu_223/article/details/8269157