gpt4 book ai didi

unit-testing - 如何使用hibernate执行sql脚本文件?

转载 作者:行者123 更新时间:2023-12-03 02:00:19 28 4
gpt4 key购买 nike

我将编写几个集成测试来测试与数据库的交互。对于每个测试,我需要有一个特定的数据库快照。每个数据库快照保存在 .sql 文件中。我想要的是在特定的测试方法中执行特定的脚本文件,如下所示:

@Test
public void test_stuff(){
executeScript(finame.sql);

... testing logic ...

clean_database();
}

hibernate有办法做到这一点吗?

最佳答案

  • 您可以在 hibernate 启动时自动执行 SQL 脚本:将 SQL 命令写入名为 import.sql 的文件中,并将其放在 CLASSPATH 的根目录中。

  • 您不需要为测试清理数据库,只需将测试设置为事务性测试,并在每次测试结束时进行回滚即可。因此,您确信您的数据库没有被测试污染。例如,使用 Spring:

    @Transactional
    @TransactionConfiguration
    public class MyTest {
    ...
    }

如果您不使用 Spring,请尝试使用默认回滚事务支持的测试框架。

关于unit-testing - 如何使用hibernate执行sql脚本文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2071455/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com