java junit4 for_使用JUnit4进行java单元测试

第一步:创建一个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 }

部分截图如下:

da1a0f9598b3bc16e44dde3e5ce9f9a1.png

图 1-1

第二步:在eclipse下单元测试这个类

首先,导入Junit包:选中java工程,点击鼠标右键--->选择属性---->在窗口中选Java构建路径---->选择库--->右侧点击添加库---->在弹出的窗口列表中选中Junit---->下一步----->Junit 4---->完成--->确定

部分截图如下:

067e104aee854ce962d0510e8d8847f8.png

图 2-1

这样Junit 4包就导完了,接下来就是创建测试类:选中java工程,点击鼠标右键--->选择新建--->JUnit测试用例--->按图2-2编辑--->完成

4860cf7f42f41a79a10fb1f60d38a1cf.png

图 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 }

完成后截图如下:

a5f8dee8b649b2a7c5c3ea79c8e8f510.png

图 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 }

完成截图如下:

636ec1619456a138f1d483c9756f9a14.png

图 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 }

完成截图如下:

5c22cbf3d18d1b7f8b832e8673043070.png

图 2-4

第三步:分别测试以上三个类(选中需要测试的类---->鼠标右键---->运行方式---->Junit 测试)

StudentTest01类测试结果截图如下:

0f351a98ef1a5c0755617e14963a88a1.png

图 3-1

StudentTest类测试结果截图如下:

d1cea4d54e78c9adea8a13393a7a074e.png

图 3-2

AllTest类测试结果截图如下:

bece4736af67ea55cb166c09edefcaa7.png

图 3-3

到此java类的单元测试就完成了。

第四步:将Eclipse中java代码上传到GitHub

f3fc85d9b1fea0780538dc31bd40d301.png

图 4-1

在java项目上右击--->Team--->共享项目--->Git--->按图4-2操作--->完成

a6a8c0f431454369370a20715533da8c.png

图 4-2

将代码上传到GitHub:

在java项目上右击--->Team--->commit--->选中所有文件--->commit --->见图4-3--->URI就是GitHub自己仓库的地址--->见图4-4--->见图4-5--->图4-6

599a3ef66c0b8f6bf98d2770c540d3a7.png

图 4-3

1f6e2b167e98fbea9c4b1b8aff185468.png

图 4-4

cb688e5012cb2b742801cf51f85169dc.png

图 4-5

9d3518fbec5381d00d0b05c4cc7f5945.png

图 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值