JUnit使用方法以及测试代码覆盖率

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

Junit

一、什么是junit

采用测试驱动开发的方式,在开发前先写好测试代码,主要说明被测试的代码会被如何使用,错误处理等,然后开始写代码。并在测试代码中逐步测试这些代码。直到最后在测试代码中完全通过。

二、Junit功能

1)管理测试用例。修改了哪些代码。这些代码的修改会对哪些部分由影响,通过junit将这次的修改做完成测试。

2)定义了测试代码,textcase根据源代码的测试需要定义每个textcase,并将Textcase添加到相应的Textsuit以方便管理。

3)定义测试环境,在Textcase测试前会先调用“环境”配置。在测试中使用,当然也可以在测试用例中直接定义测试环境。

4)检测测试结果。对于每种正常、异常情况下的测试,运行结果是什么。

结果是够是我们预料的等。都需要有明确的定义。Junit在这方面提供了强大的功能。

三、Junit核心类

Textsuit:测试用例的集合

Textcase:定义运行多个测试用例

TextListener:测试中若产生事件,会通知TextListener

BaseTextRunner:TextRunner用来启动测试界面

TextResult:收集一个测试案例的结果。测试结果分为失败和错误。

Assert:当条件成立时,assert方法保持沉默,但若条件不成立就抛出异常

四、使用举例

4.1方法一:

第一步、新建一个Android项目JUnit_Test,file-new-android project,然后编写一个Calculator类,new java class,实现简单的加、减、乘、除的计算器,然后对这些功能进行单元测试。

类的代码如下:

package com.neusoft;

public class Calculator {

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

}

第二步、将JUnit4单元测试包引入这个项目:在该项目上点右键,点“属性”,在弹出的属性窗口中,首先在左边选择“Java Build Path”,然后到右上选择“Libraries”标签,之后在最右边点击“Add Library…”按钮,然后在新弹出的对话框中选择JUnit4并点击确定,JUnit4软件包就被包含进我们这个项目了。

第三步、在Eclipse的Package Explorer中用右键点击该类弹出菜单,选择new—选择“J unit Text Case”。在弹出窗口,选择new JUnit 4 text,在which method stubs would you like to creat?处选择setUp。点击“next”后,系统会自动列出你这个类中包含的方法,选择你要进行测试的方法。此处,我仅对“加、减、乘、除”四个方法进行测试。点击Finish后,系统会自动生成一个新类CalculatorTest,里面包含一些空的测试用例。只需要将这些测试用例稍作修改即可使用。完整的CalculatorTest代码如下:

package com.neusoft;

import static org.junit.Assert.*;

import org.junit.Before;

import org.junit.Test;

import org.junit.Ignore;

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() {

fail("Not yet implemented");

}

相关文档
最新文档