gpt4 book ai didi

java - 在HSQLDB中,为什么需要在 "After"方法中(即测试完成后)删除模式?

转载 作者:行者123 更新时间:2023-11-30 02:21:38 26 4
gpt4 key购买 nike

嘿,我正在使用 HSQLDB 作为数据库编写一些单元测试和集成测试。在测试中,建议在每个单元或集成测试后删除模式。测试完成后,表不会自行删除吗?或者这样做是为了防止构建期间出现错误?

最佳答案

这取决于您的 HSQLDB 实例的范围。如果您为每个测试创建一个,然后在测试完成后丢弃它,那么删除架构是多余的,但很可能许多开发人员没有明确意识到(甚至想要关心)他们正在使用的 HSQLDB 实例的生命周期测试用例因此建议在测试完成后删除架构。

目标是测试独立性;如果您在每次测试后删除架构(或使用 TRUNCATE SCHEMA <schema_name> AND COMMIT; ),那么您可以确信 TestA 插入或突变的数据不会绊倒TestB等等

当然,测试独立性也可以通过以下方式实现:

  • 确保每个测试都在一个事务中运行,并在完成后回滚
  • 确保每个测试都使用专用的 HSQLDB 实例,并在测试完成时停止

因此,还有其他选择,因此任何“在“之后”方法中删除模式,即测试完成后”的指令都必须是一条建议,只要您确定您可以忽略它,您就可以忽略它以某种方式满足了测试独立性的需求。

关于java - 在HSQLDB中,为什么需要在 "After"方法中(即测试完成后)删除模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46670539/

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