Spring boot 编写数据源的Junit测试用例
我想在下面的代码中使用mock it来模拟数据源对象,但每次我都会遇到null指针异常Spring boot 编写数据源的Junit测试用例,spring-boot,mockito,junit4,Spring Boot,Mockito,Junit4,我想在下面的代码中使用mock it来模拟数据源对象,但每次我都会遇到null指针异常 @Component @Transactional public class ConnectionUtils { @Autowired private Datasource data source public Connection getConnection() { return this.datasource.getConnection(); } 我试过模拟数据源和连接,但似乎没有任何效果
@Component
@Transactional
public class ConnectionUtils {
@Autowired
private Datasource data source
public Connection getConnection()
{
return this.datasource.getConnection();
}
我试过模拟数据源和连接,但似乎没有任何效果。这不是一个特别有趣的测试,但我希望您可以在此基础上进行构建。模拟
连接并不是最佳实践,但我不知道有哪种连接的实现方法很简单。使用@DataJpaTest
可能会更好,例如
使用构造函数注入而不是字段注入。然后,您只需通过构造函数传递(模拟)测试数据源:new ConnectionUtils(您的测试数据源)
@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);
}
}