Junit4的简单使用说明

时间:2022-05-24 16:04:25
在完成DAO层的功能设计时,一个比较好的习惯是先进行junit测试,测试dao接口的方法能否正常运行,接着再去完成业务功能的设计和组装。下面是使用junit的一些简单说明。

首先,默认已经用maven导入了junit相关的依赖,以及junit和spring集成的依赖。

基本使用套路:
1. 列表内容
2. 编写一个新的测试类文件
3. 在编写的测试方法中添加注解 @Test
4. 在大纲(Outline)视图中右键点击要测试的方法,运行配置(Run as),对方法进行运行
5. 如果想对类中所有的方法进行测试,可以点击类进行测试

我自己写的一个测试类代码如下:

/**

* 配置spring和junit整合,junit启动时加载springIOC容器 spring-test,junit

*/


@RunWith(SpringJUnit4ClassRunner.class)

// 告诉junit spring的配置文件

@ContextConfiguration( { "classpath:spring/spring-dao.xml" })

public class SeckillDaoTest {



// 注入Dao实现类依赖(@Resource表示注入依赖)

@Resource

private SeckillDao seckillDao;



@Test

public void testQueryById() throws Exception {

long id = 1000;

Seckill seckill = seckillDao.queryById(id);

System.out.println(seckill.getName());

System.out.println(seckill);

}



@Test

public void testQueryAll() throws Exception {

// 注意接口中要用mybatis注解详细说明参数,否则java编译后变成arg0,arg1识别不出

List<Seckill> seckills = seckillDao.queryAll(0, 100);

for (Seckill seckill : seckills) {

System.out.println(seckill);

}

}



@Test

public void testReduceNumber() throws Exception {

Date killTime = new Date();

// 减库存其实是一条update语句,返回值只能是 1或0

int updateCount = seckillDao.reduceNumber(1000L, killTime);

//因为end_time已经过去了,所以现在测试返回都是0

System.out.println("更新了多少条记录:"+updateCount);

}

}

因为和spring集成,所以使用到了@RunWith 和 @ContextConfiguration 注解。