如何使用Spock测试LocalContainerEntityManagerFactoryBean

时间:2019-04-22 12:36:05

标签: java spring spock

如何使用spock测试我的数据库连接?我知道如何使用%和测试通过来做到这一点,但是当我尝试使用JUnit做类似的事情时,我得到Spock并且无法在null上调用方法NullPointerException对象。

getDataSource()

如何使用Spock测试数据库连接,我负责数据库配置的课程是@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) } }

1 个答案:

答案 0 :(得分:0)

这应该给您您想要的东西。删除ContextConfiguration和WebAppConiguration批注。直接注入数据源。

@SpringBootTest
class DatabaseConfigTest extends Specification {

    @Autowired
    DataSource dataSource;

    def "Should connect to database."() {
        when:
        dataSource.getConnection()
        then:
        notThrown(SQLException.class)
    }
}