gpt4 book ai didi

java - HSQLDB 独立用于单元测试

转载 作者:行者123 更新时间:2023-12-01 05:29:24 25 4
gpt4 key购买 nike

我使用 HSQLDB 进行 JUnit 单元测试一组 hibernate 类和查询。在每个测试的 setUp() 调用中,我使用测试类和测试用例的名称来初始化内存中的 hsql 数据库(通过 hibernate)来组成内存中数据库实例的连接字符串。但在我的第二次测试中,ID 序列似乎延续了第一次测试。显然我希望我的测试是绝对独立的,所以这让我感到惊讶。我使用 @GenerateValue(strategy = GenerationType.AUTO) 作为我的 ID。我想要的开发和生产数据库是 mysql 或 postgresql,但这在这里并不重要。

更新我尝试了一个较小的测试用例,结果证明我错了。我确实在第二次测试中创建了更多实体,这导致了不同的 id。完全是我的错!

最佳答案

可能只有在应用程序终止后才会删除 HSQLDB 内存数据库。

您可以在每个测试类之前启动一个事务,并在测试类完成时回滚它。

关于java - HSQLDB 独立用于单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9240296/

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