JUnit学习笔记1

来源:互联网 发布:有没有5g网络 编辑:程序博客网 时间:2024/05/29 09:14

0. 准备Maven

在mac上配置参考:http://www.jianshu.com/p/191685a33786
前置知识:Maven项目管理

JUnit官网:junit.org,目前最新版本是JUnit5+java8
概念:Java单元测试框架
目的:生成可复用测试集,提高代码质量

1. 从一个例子着手

新建maven项目,在xml文件中配置:

<dependencies><dependency>  <groupId>junit</groupId>  <artifactId>junit</artifactId>  <version>4.12</version>  <scope>test</scope></dependency></dependencies> 

然后编译:mvn clean install -Dtest.skip=true , mvn idea:idea ,看到BUILD SUCCESS就OK了。
新建JavaClass,添加函数AddOperation:

public class AddOperation {    public int add(int x, int y){        return x+y;    }}

新建测试类AddOperationTest,添加函数:

import org.junit.After;import org.junit.Assert;import org.junit.Before;import org.junit.Test;public class AddOperationTest {    private AddOperation addOperation;    @Before    public void setUp() throws Exception{        addOperation = new AddOperation();    }    @After    public void tearDown() throws Exception{        addOperation = null;    }    @Test    public void addTest(){        Assert.assertEquals("1+1=2",addOperation.add(1,1),2);    }}

直接run一下跑通即可:
这里写图片描述

2. 使用注解

  • @BeforeClass: 所有测试开始之前运行(被标记的方法必须是static的),只运行一次
  • @Before: 每一个测试方法之前运行
  • @Test : 测试方法,后边可以跟参数代表不同的测试,如(expected=XXException.class) 异常测试,(timeout=xxx)超时测试
  • @After : 每一个测试方法之后运行
  • @AfterClass: 所有测试结束之后运行(被标记的方法必须是static的),只运行一次
  • @Ignore : 被忽略的测试方法