您的位置:首页 > 编程语言 > Java开发

Spring测试框架JUnit4.4

2015-11-06 22:40 357 查看


TestContext 可以运行在 JUnit 3.8、JUnit 4.4、TestNG 等测试框架下。

Spring的版本2.5+JUnit4.4+log4j1.2.12

 

@RunWith(SpringJUnit4ClassRunner.class)

@ContextConfiguration(locations={"http://www.cnblogs.com/../applicationContext.xml","http://www.cnblogs.com/../daoContext.xml"})
@TransactionConfiguration(transactionManager="transactionManager") 

@Transactional

public class KindDaoTest

{

    @Autowired 

    KindDao kindDao;

    @Test

    @Rollback(false) 

    public void findAll()

    {

        

    }

}

 

该单元测试的特点:运用注释,使得编写测试更加简单,以及可以设置是否回滚。

@RunWith(SpringJUnit4ClassRunner.class)

表示该测试用例是运用junit4进行测试,也可以换成其他测试框架

@TransactionConfiguration(transactionManager="transactionManager")为可选项,该项不会影响回滚的设置。

@ContextConfiguration(locations={"http://www.cnblogs.com/../applicationContext.xml","http://www.cnblogs.com/../daoContext.xml"})

该路径的设置时相当于该单元测试所在的路径,也可以用“classpath:xxx.xml”进行设置,该设置还有一个inheritLocations的属性,默认为true,表示子类可以继承该设置。

@Autowired

表示bean自动加载,而不用像之前的两个类要添加一个set的方法。

@Test

表示该方法是测试用例

@Rollback(false)

表示该测试用例不回滚

 


问题:

1.报错log4j:WARN No appenders could be found for logger (org.springframework.test.context.junit4.SpringJUnit4ClassRunner).
log4j:WARN Please initialize the log4j system properly.

解答:将log4j.properties文件放在/resource下面

2.log4j的版本必须在1.2.12以后

 


注意:

操作数据库时,数据并没有真正插入到数据库中。

这是TestContext起的作用,调用事务返回了并没有真正插入数据库。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: