gpt4 book ai didi

JUnit 数据库测试和测试排序

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

我认为数据库测试包含 CRUD 操作是很常见的。所以这些函数会修改数据库,使预期的值发生变化:例如。如果我测试 SELECT 返回 2 行,如果删除测试运行 1st,我可能会失败。类似于插入。 JUnit 似乎没有按照定义运行测试,这使得期望值变得困难。

如果我在每次测试时都重新初始化我的数据库,它可能会矫枉过正而且速度很慢。那么我该如何解决这个问题呢?

最佳答案

是的,正如 Steve Hall 指出的那样,使用事务测试可以 100% 解决测试和测试运行之间的数据库一致性问题。 Spring 为此类测试提供了非常精细的支持(请参阅 transaction management in TestContext Framework ),但如果没有它,实现起来并不困难。

在最后回滚其事务的事务测试内部,您可以自由地将任何 CRUD 操作应用于您的数据,只要它们是测试启动的事务的一部分。然后在测试拆除期间的单次回滚消除了对数据库的所有 CRUD 影响。

关于JUnit 数据库测试和测试排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10038706/

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