软件单元测试_案例

软件单元测试
一、实验方法:
1、项目任务驱动教学法;
2、“讲、学、练”相结合。
二、实验仪器与设备:
1、计算机(要求:CPU 1000MHz以上,内存512M以上,磁盘空间20G以上。);
2、Eclipse;
3、一个简单的Student类;
三、实验目的:
1、掌握单元测试理论;
2、掌握单元测试的重要方法;
3、掌握单元测试工具Junit的使用;
四、实验重点:
1、单元测试工具Junit的使用;
2、单元测试的方法;
五、实验难点:
1、测试过程的把握;
2、测试结果的分析;
六、实验项目:使用Junit工具测试一个Java程序Student类。
1、实训要求:
1、编写Java程序Student类。
2、根据白盒测试技术的方法使用Junit工具对该程序进行单元测试。
2、实训步骤:
1、编写被测试程序Student类:
首先创建一个java工程,在工程中创建一个被单元测试的Student数据类,代码如下:

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

2、在eclipse下单元测试这个类:
首先导入Junit包:选中java工程,点击鼠标右键—>选择properties---->在窗口中选Java Build Path---->在右侧点击Add Library---->在弹出的窗口列表中选中Junit---->下一步----->Junit 4(我用的是Junit 4)---->finish
这样Junit 4包就导完了,接下来就是创建测试类:
将测试类和被测试类放在不同的包中(也可以放在同一个包中,此处只是为了区别),代码如下:
测试类1:

public class StudentTest01 extends TestCase 
{ 
 Student testStudent; 
 //此方法在执行每一个测试方法之前(测试用例)之前调用 
 @Override
 protected void setUp() throws Exception 
 { 
  // TODO Auto-generated method stub 
  super.setUp(); 
  testStudent = new Student("djm", "boy", 178, 24, "华东政法"); 
  System.out.println("setUp()"); 
 } 
 //此方法在执行每一个测试方法之后调用 
 @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:

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() 
 { 
  //预期值和实际值不一样,测试时出现失败(Failure) 
  assertEquals("南昌大学", testStudent.getSchool()); 
 } 
 public void testGetName() 
 { 
  assertEquals("hdy", testStudent.getName()); 
 } 
}

当然,如果同时需要一起测试以上这两个测试类,可以通过AllTest类实现,它相当于是一个套件,可以把所有测试类添进来一起运行测试;
代码如下:

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.addTestSuite(StudentTest.class); 
  suite.addTestSuite(StudentTest01.class); 
  return suite; 
 } 
}

最后,分别测试以上三个类(选中需要测试的类---->鼠标右键---->Run As---->Junit Test):

StudentTest类的测试结果图:
在这里插入图片描述

StudentTest01类的测试结果图:
在这里插入图片描述

AllTest类的测试结果图:
在这里插入图片描述

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值