【发布时间】:2014-02-20 17:13:34
【问题描述】:
我有一组单元测试。有些人会使用dataSource,有些人会想使用hsqlbDataSource。这个数据源不是连接到我的单元测试/代码中的 bean,而是通过模板和事务管理器传递使用的。因此我打算像这样使用 bean defs:
<jee:jndi-lookup id="dataSource" jndi-name="jdbc/myDataSource"
cache="true" resource-ref="true" lookup-on-startup="false"
proxy-interface="javax.sql.DataSource" />
<jee:jndi-lookup id="hsqlbDataSource" jndi-name="jdbc/myDataSource"
cache="true" resource-ref="true" lookup-on-startup="false"
proxy-interface="javax.sql.DataSource" />
<bean id="qmat-das-jdbcTemplate"
class="org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate"
c:dataSource-ref="${test.datasource:dataSource}" />
<bean id="transactionManager"
class="org.springframework.transaction.jta.WebSphereUowTransactionManager">
<property name="dataSource" ref="${test.datasource:dataSource}"/>
</bean>
我希望我的单元测试(当然有很多)选择要使用的数据源。理想情况下,对我来说有意义的是每个单元测试都有一个注释,该注释将系统属性设置为用自己的覆盖默认数据源。有没有一种优雅的方法可以在没有属性文件的情况下实现这一点,而只需通过注释设置 java 属性?
【问题讨论】:
标签: java spring unit-testing