一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務(wù)器之家 - 編程語言 - JAVA教程 - java編程之單元測試(Junit)實(shí)例分析(附實(shí)例源碼)

java編程之單元測試(Junit)實(shí)例分析(附實(shí)例源碼)

2020-01-20 11:39stevenhu_223 JAVA教程

這篇文章主要介紹了java編程之單元測試(Junit),結(jié)合實(shí)例形式較為詳細(xì)的分析總結(jié)了Java單元測試的原理、步驟及相關(guān)注意事項(xiàng),并附帶了完整代碼供讀者下載參考,需要的朋友可以參考下

本文實(shí)例講述了java編程單元測試。分享給大家供大家參考,具體如下:

完整實(shí)例代碼代碼點(diǎn)擊此處本站下載。

在有些時候,我們需要對我們自己編寫的代碼進(jìn)行單元測試(好處是,減少后期維護(hù)的精力和費(fèi)用),這是一些最基本的模塊測試。當(dāng)然,在進(jìn)行單元測試的同時也必然得清楚我們測試的代碼的內(nèi)部邏輯實(shí)現(xiàn),這樣在測試的時候才能清楚地將我們希望代碼邏輯實(shí)現(xiàn)得到的結(jié)果和測試實(shí)際得到的結(jié)果進(jìn)行驗(yàn)證對比。

廢話少說,上代碼:

首先創(chuàng)建一個java工程,在工程中創(chuàng)建一個被單元測試的Student數(shù)據(jù)類,如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
package com.phicomme.hu;
public class Student
{
 private String name;
 private String sex;
 private int high;
 private int age;
 private String school;
 public Student(String name, String sex ,int high, int age, String school)
 {
  this.name = name;
  this.sex = sex;
  this.high = high;
  this.age = age;
  this.school = school;
 }
 public String getName()
 {
  return name;
 }
 public void setName(String name)
 {
  this.name = name;
 }
 public String getSex()
 {
  return sex;
 }
 public void setSex(String sex)
 {
  this.sex = sex;
 }
 public int getHigh()
 {
  return high;
 }
 public void setHigh(int high)
 {
  this.high = high;
 }
 public int getAge()
 {
  return age;
 }
 public boolean setAge(int age)
 {
  if (age >25)
  {
   return false;
  }
  else
  {
   this.age = age;
   return true;
  }    
 }
 public String getSchool()
 {
  return school;
 }
 public void setSchool(String school)
 {
  this.school = school;
 }
}

在eclipse下單元測試這個類:

首先導(dǎo)入Junit包:選中java工程,點(diǎn)擊鼠標(biāo)右鍵--->選擇properties---->在窗口中選Java Build Path---->在右側(cè)點(diǎn)擊Add Library---->在彈出的窗口列表中選中Junit---->下一步----->Junit 4(我用的是Junit 4)---->finish

這樣Junit 4包就導(dǎo)完了,接下來就是創(chuàng)建測試類:

將測試類和被測試類放在不同的包中(也可以放在同一個包中,此處只是為了區(qū)別),代碼如下:

測試類1:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package com.phicomme.test;
import com.phicomme.hu.Student;
import junit.framework.TestCase;
public class StudentTest01 extends TestCase
{
 Student testStudent;
 //此方法在執(zhí)行每一個測試方法之前(測試用例)之前調(diào)用
 @Override
 protected void setUp() throws Exception
 {
  // TODO Auto-generated method stub
  super.setUp();
  testStudent = new Student("djm", "boy", 178, 24, "華東政法");
  System.out.println("setUp()");
 }
 //此方法在執(zhí)行每一個測試方法之后調(diào)用
 @Override
 protected void tearDown() throws Exception
 {
  // TODO Auto-generated method stub
  super.tearDown();
  System.out.println("tearDown()");
 }
 //測試用例,測試Person對象的getSex()方法
 public void testGetSex()
 {
  assertEquals("boy", testStudent.getSex());
  System.out.println("testGetSex()");
 }
 //測試Person對象的getAge()方法
 public void testGetAge()
 {
  assertEquals(24, testStudent.getAge());
  System.out.println("testGetAge()");
 }
}

測試類2:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package com.phicomme.test;
import junit.framework.TestCase;
import com.phicomme.hu.Student;
public class StudentTest extends TestCase
{
 private Student testStudent;
 @Override
 protected void setUp() throws Exception
 {
  // TODO Auto-generated method stub
  super.setUp();
  testStudent = new Student("steven_hu", "boy", 170 , 23, "上海理工");
 }
 @Override
 protected void tearDown() throws Exception
 {
  // TODO Auto-generated method stub
  super.tearDown();
 }
 public void testSetage()
 {
  assertTrue(testStudent.setAge(21));
 }
 public void testGetSchool()
 {
  //預(yù)期值和實(shí)際值不一樣,測試時出現(xiàn)失敗(Failure)
  assertEquals("南昌大學(xué)", testStudent.getSchool());
 }
 public void testGetName()
 {
  assertEquals("hdy", testStudent.getName());
 }
}

當(dāng)然,如果同時需要一起測試以上這兩個測試類,可以通過TestSuite類實(shí)現(xiàn),它相當(dāng)于是一個套件,可以把所有測試類添進(jìn)來一起運(yùn)行測試;

代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package com.phicomme.test;
import com.phicomme.hu.StudentTest02;
import junit.framework.Test;
import junit.framework.TestSuite;
public class AllTest
{
 //static PersonTest p = new PersonTest();
 //static PersonTest p1 = new PersonTest();
 public static Test suite()
 {
  TestSuite suite = new TestSuite("Test for com.phicomme.test");
  //suite.addTest(p);
  //suite.addTest(p1);
  suite.addTestSuite(StudentTest.class);
  suite.addTestSuite(StudentTest01.class);
  return suite;
 }
}

最后,分別測試以上三個類(選中需要測試的類---->鼠標(biāo)右鍵---->Run As---->Junit Test):

StudentTest類的測試結(jié)果圖:

java編程之單元測試(Junit)實(shí)例分析(附實(shí)例源碼)

StudentTest01類的測試結(jié)果圖:

java編程之單元測試(Junit)實(shí)例分析(附實(shí)例源碼)

AllTest類的測試結(jié)果圖:

java編程之單元測試(Junit)實(shí)例分析(附實(shí)例源碼)

有關(guān)java的測試就講到這里,希望對大家有幫助,有時間也會接著講講有關(guān)android的單元測試,和在手機(jī)上實(shí)現(xiàn)編寫一個UI界面替代eclipse如上圖中的測試界面;

希望本文所述對大家Java程序設(shè)計有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 免费观看一级特黄三大片视频 | 久久黄色精品视频 | 亚洲免费二区 | 肉宠文很肉到处做1v1 | 四虎影库网址 | 久久成人免费大片 | 草莓绿巨人香蕉茄子芭乐 | 黑帮少爷爱上我第8集在线观看 | 国产成人精品一区二三区 | 经典三级四虎在线观看 | 国产精品日韩欧美在线 | 国产喂奶300部 | 亚洲嫩模吧粉嫩粉嫩冒白浆 | 亚洲国产麻豆 | 四虎永久在线精品免费影视 | 亚洲福利视频一区 | 国产乱子伦真实china | 国产精品久久久久久久牛牛 | 调教女警花穿环上班 | a亚洲天堂| 国产精品天天在线 | 日韩精品成人免费观看 | 乌克兰一级片 | 滑进了柔佳火热紧夹的 | 亚洲欧洲日产国码天堂 | 成人涩涩屋福利视频 | 精品一成人岛国片在线观看 | 色哟哟观看 | www.日本免费 | 国产精品日本一区二区三区在线看 | 国产真实偷乱视频在线观看 | 黄 色 大 片 网站 | 九九国产在线视频 | 无码专区aaaaaa免费视频 | 国内精品中文字幕 | 日本色淫| 鄂州一家三口完整版免费 | 亚洲男人天堂网站 | 99精品视频一区在线观看miya | 欧美性高清另类videosex死尸 | 韩国最新理论片奇忧影院 |