标签:注解 坚持 使用 代码 with assert VID soft 重复
在开发基于Spring的应用时,如果你还直接使用Junit进行单元测试,那你就错过了Spring满汉全席中最重要的一道硬菜。
<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.9</version> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version> 3.2.4.RELEASE </version> <scope>provided</scope> </dependency>
在此,推荐创建一个和src平级的源文件目录,因为src内的类都是为日后产品准备的,而此处的类仅仅用于测试。而包的名称可以和src中的目录同名,这样由于在test源目录中,所以不会有冲突,而且名称又一模一样,更方便检索。这也是Maven的约定。
@RunWith(SpringJUnit4ClassRunner.class) //使用junit4进行测试 @ContextConfiguration ({"/spring/app*.xml","/spring/service/app*.xml"}) //加载配置文件 //------------如果加入以下代码,所有继承该类的测试类都会遵循该配置,也可以不加,在测试类的方法上///控制事务,参见下一个实例 //这个非常关键,如果不加入这个注解配置,事务控制就会完全失效! //@Transactional //这里的事务关联到配置文件中的事务控制器(transactionManager = "transactionManager"),同时//指定自动回滚(defaultRollback = true)。这样做操作的数据才不会污染数据库! //@TransactionConfiguration(transactionManager = "transactionManager", defaultRollback = true) //------------ public class BaseJunit4Test { }
public class UserAssignServiceTest extends BaseJunit4Test{ @Resource //自动注入,默认按名称 private IBaseDao baseDao; @Test //标明是测试方法 @Transactional //标明此方法需使用事务 @Rollback(false) //标明使用完此方法后事务不回滚,true时为回滚 public void insert( ) { String sql="insert into user(name,password) values(?,?)"; Object[] objs=new Object[]{"00","000"}; baseDao.insert( sql , objs ); String sql1="select * from user where name=? and password=? "; List<Map<String,Object>> list=baseDao.queryForList( sql1 , objs ); System.out.println(list); assertTrue(list.size( )>0); } }
标签:注解 坚持 使用 代码 with assert VID soft 重复
原文地址:https://www.cnblogs.com/itplay/p/10101260.html