软件测试实验单元测试工具JUNIT

  • 格式:docx
  • 大小:483.99 KB
  • 文档页数:24

下载文档原格式

  / 24
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

武汉轻工大学

软件测试实验报告

实验一单元测试工具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);

相关主题