Reputation: 303
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
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