编写DataSource的Junit测试用例
Writing Junit test case of DataSource
我想在下面的代码中使用模拟它来模拟数据源对象,但每次我都遇到空指针异常。
@Component
@Transactional
public class ConnectionUtils {
@Autowired
private Datasource data source
public Connection getConnection()
{
return this.datasource.getConnection();
}
我试过模拟数据源和连接,但似乎没有任何效果。
这不是一个特别有趣的测试,但我希望你能以此为基础。模拟 Connection
不是最佳实践,但我不知道它有任何简单的实现者。使用 @DataJpaTest
可能会更好,例如 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);
}
}
我想在下面的代码中使用模拟它来模拟数据源对象,但每次我都遇到空指针异常。
@Component
@Transactional
public class ConnectionUtils {
@Autowired
private Datasource data source
public Connection getConnection()
{
return this.datasource.getConnection();
}
我试过模拟数据源和连接,但似乎没有任何效果。
这不是一个特别有趣的测试,但我希望你能以此为基础。模拟 Connection
不是最佳实践,但我不知道它有任何简单的实现者。使用 @DataJpaTest
可能会更好,例如 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);
}
}