[英]How to test LocalContainerEntityManagerFactoryBean using Spock
如何使用spock测试我的数据库连接? 我知道如何使用JUnit
和测试传递来做到这一点,但是当我尝试使用Spock
做类似的事情时,我得到NullPointerException
并且无法在null对象上调用方法getDataSource()
。
@SpringBootTest
@ContextConfiguration(classes = DatabaseConfig.class)
@WebAppConfiguration
class DatabaseConfigTest extends Specification {
@Autowired
LocalContainerEntityManagerFactoryBean entityManagerFactoryBean;
def "Should connect to database."() {
when:
entityManagerFactoryBean.getDataSource().getConnection()
then:
notThrown(SQLException.class)
}
}
如何使用Spock测试数据库连接,我的负责数据库配置的类是DatabaseConfig.class
这应该可以满足您的需求。 删除ContextConfiguration和WebAppConiguration注释。 直接注入DataSource。
@SpringBootTest
class DatabaseConfigTest extends Specification {
@Autowired
DataSource dataSource;
def "Should connect to database."() {
when:
dataSource.getConnection()
then:
notThrown(SQLException.class)
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.