Spring測試框架JUnit4.4


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起的作用,調用事務返回了並沒有真正插入數據庫。



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM