2013-10-03 64 views
0

我正在爲我們的項目編寫集成測試。這是我第一次寫測試,所以請原諒,如果這是一個簡單的問題。運行Junit4和Spring的加載應用程序上下文問題

我有不同的模塊,如核心,網站,管理員等,

我想保持我們的單元測試,從我們的集成測試分開。所以在該項目的核心中,我創建了一個文件夾src/it/java和一個包 - com.test.integration。這個軟件包有我試圖運行的測試。

測試應用程序上下文和所需的測試屬性文件直接在src/it/java中。我添加了src/it/java到我的構建路徑。在我的應用程序方面,我有以下

<bean id="dataSource" 
     class="org.apache.commons.dbcp.BasicDataSource" 
     destroy-method="close"> 
    <property name="url" value="jdbc:mysql://${mysql.host}/${mysql.db_blc}?autoReconnect=true&amp;useUnicode=true&amp;characterEncoding=UTF8"/> 
    <property name="driverClassName" value="com.mysql.jdbc.Driver"/> 
    <property name="username" value="${mysql.user}" /> 
    <property name="password" value="${mysql.pass}" /> 
    <property name="testWhileIdle" value="true"/> 
    <property name="testOnBorrow" value="true"/> 
    <property name="testOnReturn" value="false"/> 
    <property name="validationQuery" value="SELECT 1"/> 
</bean> 

<bean id="jdbcTemplate" class="org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate"> 
    <constructor-arg ref="dataSource" /> 
</bean> 

現在在我的樣本測試

@RunWith(BlockJUnit4ClassRunner.class) 
@ContextConfiguration("/applicationContext-test.xml") 
public class SampleTest { 
    @Resource(name="jdbcTemplate") 
private NamedParameterJdbcTemplate jdbcTemplate; 
} 

JdbcTemplate的bean是零,我似乎無法找出原因。

任何輸入表示讚賞。我們使用Spring 3.0.5和JUnit4

感謝 MEHUL

+1

哪裏是你的applicationContext測試.xml位於?你可以放入類路徑並嘗試將@ContextConfiguration(「/ applicationContext-test.xml」)更改爲@ContextConfiguration(「classpath:applicationContext-test.xml」)? – gerardribas

回答

相關問題