junit测试环境搭建(遇到的坑)

1.pom.xml 

里面加入 


junit
junit
4.9
test

2. 代码路径

其中resources路径是配置文件

/test/java下面是测试代码

junit测试环境搭建(遇到的坑)_第1张图片

3. 测试文件


@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath*:config/applicationContext.xml"})
@Transactional
//@TransactionConfiguration(defaultRollback=false) 
public class GenericDAOTest {


	@Autowired
	private AttrUnitDao attrUnitDao;


	@Test
	public void testInsert() {
		List> unitList = attrUnitDao.getUnitList();
		System.out.println(unitList.size()+" --------------------------------");
		AttrUnit tmp = new AttrUnit();
		tmp.setCode("121");
		tmp.setName("miqi");
		tmp.setType(123);
		attrUnitDao.save(tmp);
		System.out.println(unitList.size()+" --------------------------------");
	}


}

4 执行报错

  a 首先提示 Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'redis.maxIdle' in string value "${redis.maxIdle}"
at org.springframework.util.PropertyPlaceholderHelper.parseStringValue(PropertyPlaceholderHelper.java:174)

    在下面文件中 找不到对应的redis.properties 文件 

   
          
             
     
redis.xml 加入   依然无效
直接把redis.properties里对应的值填进到redis.xml里面
  
          
         
  
    
问题暂时解决 涉及到这种的xml都要改
    b 接着提示  java.lang.NoClassDefFoundError: org/springframework/cglib/core/CodeGeneratio。。。
加入一下依赖
 
            org.springframework
            spring-core
            4.1.8.RELEASE
         
继续报异常 Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: 
查到是包依赖冲突
tomcat 这时候也起不来了。。查找maven 依赖树 dependency hierarchy 
是加入spring-core依赖导致的。。有版本冲突spring-webmvc里面版本是3.1.2但是去掉又会报
java.lang.NoClassDefFoundError: org/springframework/cglib/core/CodeGeneratio  spring 项目里面jar都是3.1.2
应该是比spring4 少了些类 ,将spring版本统一提高到4.0.2
	4.0.2.RELEASE
		1.6.9
		1.7.2
	

	
		
			public
			
			
			https://repo.maven.apache.org/maven2/
			
		
	

			
		
		
			org.springframework
			spring-webmvc
			${org.springframework-version}
		


		
			org.springframework
			spring-jdbc
			${org.springframework-version}
		


		
			org.springframework
			spring-orm
			${org.springframework-version}
		
----------------
 
  
 问题ok 可以编译通过。。

测试代码事物自动回滚
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath*:config/applicationContext.xml"})
@Transactional
//@TransactionConfiguration(defaultRollback=false) //加入该句后依然还是事务回滚 有空看看什么情况,,
public class GenericDAOTest {


 
  


 
  

你可能感兴趣的:(junit测试环境搭建(遇到的坑))