mercredi 30 décembre 2015

How to inject mock datasource when using in Junit test

In my application,we bind the datasource through the JNDIlook up using below code:

<bean id="jndiDataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiName">
        <value>java:/jboss/datasources/efmDS</value>
    </property>
</bean>

Dao has code like below:

   @Autowired
    @Qualifier("jndiDataSource")
    public void setDataSource(DataSource dataSource) {
        this.jdbcTemplate = new JdbcTemplate(dataSource);
    }

Now I am having problem while running Junit test case. I am testing a service method which is annotated with @Transactional. This service method internally calls some dao method which I have already mocked using mockito but I am facing issues as when transaction is getting started it tries to fetch connection from datasource which is not present and throws communicationslinkfailure exception How can I mock datasource in this case ? or any other alternative to solve the issue is also appreciated ?

Aucun commentaire:

Enregistrer un commentaire