2012-02-20 78 views
0

我正在使用Spring與DbUnit來測試我的DAO。我有一個TestExecutionListener在每個測試類之前和之後添加/刪除數據。這裏是我的抽象測試類Spring JUnit4測試在幾次運行後掛起

@RunWith(SpringJUnit4ClassRunner.class) 
@ContextConfiguration(locations={"classpath:spring/test-dao.xml"}) 
@TestExecutionListeners(
{ DependencyInjectionTestExecutionListener.class,CleanInsertTestExecutionListener.class} 
) 
@DataSetLocation("classpath:data/test-dao-dataset.xml") 
public abstract class AbstractDaoTests { 

我已經分組我的測試成套房,當我執行的套房,只有前幾個測試運行,然後測試無限期掛起。不知道它會是什麼原因。我也沒有看到任何例外。 任何想法或指示什麼可能會導致它會很有幫助。 我能夠運行單個測試,但是當我嘗試在套件中運行它們時會發生問題。 另外,我正在使用Apache Commons pool BasicDataSource訪問數據庫。

感謝, Javid

+0

奇怪。問題出在Apache Commons DBCP上。出於某種奇怪的原因,連接被阻塞。我會認爲它在經過幾次測試後就沒有連接,但仍然不明白爲什麼它會連接不上。 – user320587 2012-02-20 23:29:40

回答

0

發現的問題。 我沒有關閉beforeTestClass & afterTestClass方法在我的TestExecutionListeners中的DBUnit連接對象。 關閉連接解決了問題。

謝謝, Javid