Siddharth Chaurasia
Siddharth Chaurasia

Reputation: 303

Writing Junit test case of DataSource

I want to use mock it to mock data source object in the below code but every time I am getting null pointer exception.

@Component
@Transactional
public class ConnectionUtils {

@Autowired
private Datasource data source

public Connection getConnection()
{
     return this.datasource.getConnection();
}

I have tried mocking Datasource as well as connection but nothing seems to work.

Upvotes: 0

Views: 2513

Answers (1)

DCTID
DCTID

Reputation: 1337

This isn't a particularly interesting test, but I hope you can build on it. It is not best practice to mock Connection but I don't know of any easy implementors of it. This might be better done using @DataJpaTest, an example is here.

@RunWith(MockitoJUnitRunner.class)
public class ConnectionUtilsTest {

    @InjectMocks
    ConnectionUtils connectionUtils;

    @Mock
    Datasource datasource;

    @Mock
    Connection connection;

    @Test
    public void shouldReturnDatasourceConnection() {
        when(datasource.getConnection()).thenReturn(connection);

        Connection actual = connectionUtils.getConnection();

        assertSame(connection, actual);
    }
}

Upvotes: 1

Related Questions