是否使用HSQLDB考虑了集成测试?我应该使用它吗?

时间:2018-09-04 18:37:49

标签: java unit-testing junit integration-testing

我的团队使用Redshift,我们想验证查询和常规逻辑,而不必依赖于现有数据。换句话说,就像在传统的集成测试中一样,我们想要插入数据,进行测试,然后清理。我们在DAO中引用了特定的表+模式,因此,如果我们选择与Redshift集成测试,那么我们将在某些客户使用的测试数据库中插入(我们在Beta中使用该数据库,因此数据仍然具有“生产质量” ”数据,只有Beta包含Prod的功能的子集)。我们查询的性质是对数据集执行聚合/功能-没有CUD交易。

我想知道使用Redshift是否有一些内在价值,还是我可以仅依靠HSQLDB(完全控制,透明和整洁)?使用HSQLDB是否仍然属于集成测试的范围?

谢谢!

1 个答案:

答案 0 :(得分:0)

是的,它被认为是对您的存储库的集成测试,我建议您这样做!

如果使用Spring,甚至可以使用@DataJpaTest,它会为集成测试(https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-testing.html#boot-features-testing-spring-boot-applications-testing-autoconfigured-jpa-test)创建一个内存数据库。

尽管如此,在生产之前,您仍然需要真正的RedShift来进行某些功能/烟雾测试。