一、环境(environment)
1、spring 环境(Spring test等Spring 其他相关依赖包,自行导入,不再赘述)
2、junit环境:junit依赖包
二、注解
1、@RunWith(SpringJUnit4ClassRunner.class)
2、@ContextConfiguration("classpath:applicationContext.xml")
3、@Transaction
4、@TransactionConfiguration(4.2版本后过时,不要使用)
5、@Rollback、@Commit(@TransactionConfiguration的defaultRollback的替代者)
package com.zero.study;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.transaction.annotation.Transactional;
// 测试方法的执行者,未指定默认使用BlockJUnit4ClassRunner,SpringJUnit4ClassRunner
// 继承BlockJUnit4ClassRunner,这里使用了spring的环境,不指定将产生NullPointerException
@RunWith(SpringJUnit4ClassRunner.class)//
@ContextConfiguration("classpath:applicationContext.xml") // 配置文件
//@Transactional("transactionManager")
//@Rollback
/*spring4.2版本标注过时的注解,更高版本甚至直接删除了,transactionManager已转移到@Transaction中
defaultRollback功能使用新注解@Rollback代替(或者@Commit:相当于@Rollback(false))
*/
//@TransactionConfiguration(transactionManager="transactionManager", defaultRollback=true),
public class ApplicationTest {
@Autowired
private Application app;
@Test
public void testSay() {
app.say();
}
}