发出运行Junit4和Spring的加载应用程序上下文

时间:2013-10-03 20:00:18

标签: spring-mvc continuous-integration junit4

我正在为我们的项目编写集成测试。这是我第一次写测试,所以请原谅我这是一个简单的问题。

我有不同的模块,如核心,网站,管理员等,

我希望将单元测试与集成测试分开。所以在项目的核心,我创建了一个文件夹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为null,我似乎无法找出原因。

任何输入都表示赞赏。我们使用的是Spring 3.0.5和JUnit4

由于 MEHUL

1 个答案:

答案 0 :(得分:0)

  1. 尝试使用SpringJunit4ClassRunner
  2. 我建议将上下文配置更改为此 @ContextConfiguration("classpath:/applicationContext-test.xml")