首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用实际数据库进行集成测试?

如何使用实际数据库进行集成测试?
EN

Stack Overflow用户
提问于 2017-04-24 10:51:30
回答 2查看 5.8K关注 0票数 2

对于“如何在应用程序中测试SQL语句”这个问题,有一些建议的解决方案-

  • 使用RAM内存-我不能更改测试发生的暂存环境的配置。
  • 使用H2 -即使在PostgreSQL模式下也不是很兼容
  • 使用相同的数据库运行测试。
  • 使用内存中的模式- PostgreSQL没有一个.

第三个方案是可行的,我研究了试验容器,它实际上是一个漂亮的解决方案,但相对来说是一个新的解决方案。因此,我们公司对采用它持怀疑态度。

我们使用Mybatis访问PostgreSQL

另一种方法是在测试之前重新创建整个架构并填充所需的表。问题是,我可以用同名的表创建和删除模式。为了避免名称冲突,我必须更改模式的名称,因此,即使是查询也应该重命名,这一点根本不是首选的。是否有一种方法可以做到这一点,而不改变查询,但指向虚拟模式。

EN

Stack Overflow用户

回答已采纳

发布于 2017-04-24 11:03:42

您可以为测试目的定义数据库配置,并连接到实际数据库以执行测试。您应该访问测试类中的测试数据库配置。

例如,如果使用spring和hibernate连接到数据库,则可以定义测试hibernate配置xml文件,将其连接到测试数据库。然后,在您的测试类中,按照以下方式使用此配置文件:

代码语言:javascript
运行
复制
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguratiion({testHibernate.xml, testSpring.xml , .... })
@TestExecutionListeners({...})
public class TestClass {
....
   @Test
   public void test1(){ 
     ...
   }
}

因此,您可以访问测试hibernate会话工厂来执行查询。

票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43586169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档