在我的应用程序中,我们使用下面的代码通过JNDIlook绑定数据源:
<bean id="jndiDataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName">
<value>java:/jboss/datasources/efmDS</value>
</property>
</bean>
Dao的代码如下:
@Autowired
@Qualifier("jndiDataSource")
public void setDataSource(DataSource dataSource) {
this.jdbcTemplate = new JdbcTemplate(dataSource);
}
现在我在运行Junit测试用例时遇到问题。 我正在测试一个使用@Transactional注释的服务方法。 这个服务方法在内部调用了一些dao方法,我已经使用mockito进行了模拟但是我遇到了问题,因为当事务开始时它试图从数据源获取连接,这是不存在的并且抛出了communicationlinkfailure异常 在这种情况下如何模拟数据源?或任何其他解决问题的方法也表示赞赏?