我想在下面的代码中使用mock it来模拟数据源对象,但每次我都得到空指针异常。
@Component
@Transactional
public class ConnectionUtils {
@Autowired
private Datasource data source
public Connection getConnection()
{
return this.datasource.getConnection();
}
我尝试过模拟数据源和连接,但似乎没有任何效果。
这不是一个特别有趣的测试,但我希望你能在此基础上进行构建。嘲笑Connection
不是最佳做法,但我不知道有任何简单的实现者。这可能最好使用 @DataJpaTest
来完成,这里有一个例子。
@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);
}
}