Java Junit单元测试

使用Junit框架来进行Java单元测试应对一下两种情况:

  1. 增加的测试可能会破坏原来的测试逻辑,并且增加的测试需要在原来测试的基础上修改
  2. 测试成功或测试失败需要有标记,在测试量很大的时候可以进行快速定位

Junit的使用

  1. 下载juint.jar导入到项目中。
  2. 创建TestCase类,并创建方法如下:
    这是一个由@Test进行注解,表示这个方法是一个测试方法。
    Assert.assertEquals表示对result的期待是3,如果是其他数值就无法通过测试。
    1
    2
    3
    4
    5
    6
    7
    public class TestCase{
    @Test
    public void testSum1() {
    int result = SumUtil.sum1(1, 2);
    Assert.assertEquals(result, 3);
    }
    }
  3. 运行junit Test。 Run As->Junit Test
  4. 测试结果

Junit测试

@Before和@After

@Before和@After也是常见的测试框架注解,用来标注在测试开始之前做的事情和结束之后做的事情。

使用TestSuite执行多个测试

测试文件包含多个测试程序,那么如何全部执行而不是一个一个执行呢。
JUnit用例都是在Runner(运行器)来执行的。通过它,可以为这个测试类指定一个特定的Runner。
@RunWith指定了Suite类,说明这个TestSuite类是一个套件。通过@Suite.SuiteClasses指定了要执行的测试类(这些类中的所有用例都会执行)。

需要注意的是,这个TestSuite类本身用例则不会执行了

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/**
*
*/
package juinttest;

import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;

/**
* @author shaoguoliang
*
*/

@RunWith(Suite.class)
@SuiteClasses({Test1.class, Test2.class})

public class Testsuite {

}

在maven中添加juint

在pom.xml的依赖包中添加如下:

1
2
3
4
5
6
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.3.1</version>
<scope>test</scope>
</dependency>