对于“如何在应用程序中测试SQL语句”这个问题,有一些建议的解决方案-
第三个方案是可行的,我研究了试验容器,它实际上是一个漂亮的解决方案,但相对来说是一个新的解决方案。因此,我们公司对采用它持怀疑态度。
我们使用Mybatis访问PostgreSQL。
另一种方法是在测试之前重新创建整个架构并填充所需的表。问题是,我可以用同名的表创建和删除模式。为了避免名称冲突,我必须更改模式的名称,因此,即使是查询也应该重命名,这一点根本不是首选的。是否有一种方法可以做到这一点,而不改变查询,但指向虚拟模式。
发布于 2017-04-24 11:03:42
您可以为测试目的定义数据库配置,并连接到实际数据库以执行测试。您应该访问测试类中的测试数据库配置。
例如,如果使用spring和hibernate连接到数据库,则可以定义测试hibernate配置xml文件,将其连接到测试数据库。然后,在您的测试类中,按照以下方式使用此配置文件:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguratiion({testHibernate.xml, testSpring.xml , .... })
@TestExecutionListeners({...})
public class TestClass {
....
@Test
public void test1(){
...
}
}因此,您可以访问测试hibernate会话工厂来执行查询。
https://stackoverflow.com/questions/43586169
复制相似问题