软件测试实验单元测试工具JUNIT
- 格式:docx
- 大小:483.99 KB
- 文档页数:24
武汉轻工大学
软件测试实验报告
实验一单元测试工具JUNIT
姓名:李娅娅
学号: 1505110015
班级:软工1503
指导老师:丁月华
1. 实验目的
了解自动化测试工具JUnit的架构、功能,学习如何下载、安装JUnit,掌握使用JUnit对Java程序进行单元测试的方法。
2. 实验步骤
2.1 导入jar包
右击项目名,单击Build Path中的Add Libraries..
选择User Libariry。
新建一个存放Junit的包的库
将junit-4.7.jar导入
Jar包导入完成。
2.2 编写第一个Junit测试类
2.2.1 Calculator类
编写被测试类Calculator:(拷贝)
private static int result; // 静态变量,用于存储运行结果
public void add(int n){
result = result + n;
}
public void substract(int n){
result = result - 1; //Bug: 正确的应该是 result
=result-n
}
public void multiply(int n){
} // 此方法尚未写好
public void divide(int n){
result = result / n;
}
public void square(int n){
result = n * n;
}
public void squareRoot(int n){
for (; ;) ; //Bug : 死循环
}
public void clear(){ // 将结果清零
result = 0;
}
public int getResult(){
return result;
}
}
2.2.2 CalculatorTest类
编写CalculatorTest类,用于测试Calculator类:(拷贝)
public class CalculatorTest {
private static Calculator calculator = new Calculator();
@Before
public void setUp() throws Exception{
calculator.clear();
}
@Test
public void testAdd(){
calculator.add(2);
calculator.add(3);
assertEquals(5, calculator.getResult());
}
@Test
public void testSubstract(){
calculator.add(10);
calculator.substract(2);
assertEquals(8, calculator.getResult());
}
@Ignore("Multiply() Not yet implemented")
@Test
public void testMultiply(){
}
@Test
public void testDivide(){
calculator.add(8);
calculator.divide(2);
assertEquals(4, calculator.getResult());
}
}
2.2.3 运行测试
在类名上右击,选择Run As Junit Test
得到Junit面板,并显示了哪些测试是成功的,哪些是失败的以及哪些是未执行(直接跳过了):
2.3 使用JUnit对Money类进行单元测试
2.3.1 Money类
(拷贝)
public class Money {
private int fAmount; //货币余额
private String fCurrency; //货币类型
public Money(int amount, String currency){ fAmount=amount;
fCurrency=currency;
}
public int amount(){
return fAmount;
}
public String currency(){
return fCurrency;
}
public Money add(Money m){
//add方法把两个Money对象相加,合成一个Money对象
return new Money(amount()+m.amount(),currency());
}
public boolean equals(Object anObject){
//equals方法判断两个Money对象是否相等
if(anObject instanceof Money){
Money aMoney=(Money)anObject;
return
aMoney.currency().equals(currency())&&amount()==aMoney.am ount();
}
return false;
}
}
现在要对Money类的add方法进行测试,步骤如下:
2.3.2 MoneyTest类
(1) 创建对象
定义几个Money类的对象
Money result;
Money m12CHF=new Money(12,"CHF");
Money m14CHF=new Money(14,"CHF");
Money expected=new Money(26,"CHF"); //预期的运行结果(2) addTest()
在MoneyTest类中编写testAdd方法,对Money类中的add()方法进行测试:
@Test
public void testAdd(){
result=m12CHF.add(m14CHF);