1
3
代码中的回滚不会嵌套。它们将所有内容回滚到第一个开始事务。 对于每个begin事务,@@trancount都会增加1,但是,任何回滚都会将@@trancount设置回零。 如果要回滚事务的一部分,则需要使用事务保存点。您可以在BOL中查找它们,以获取比我在此处输入的信息更多的信息。 |
2
1
不要这样做。首先,您不会实际测试功能,因为在现实世界中,过程将提交。第二,这一点更为重要,您将得到gazilion错误的失败,并且需要实现解决方法来读取脏数据,因为您实际上没有提交,并且您无法进行任何适当的验证。 相反,使用已知集进行数据库备份,然后在测试之前快速恢复它。将测试分组到可以在新的数据库还原上运行而不会相互影响的套件中,这样可以减少所需的还原数量。 您还可以使用数据库快照,在套件启动时获取快照,然后在每次测试之前从快照还原数据库,请参见 How to: Revert a Database to a Database Snapshot (Transact-SQL) . 或者结合使用这两种方法:suite安装(即unit test@class method)从.bak文件还原数据库并创建快照,然后每个测试从快照还原数据库。 |
3
0
我对这种设置也有类似的问题,我的任务是创建一个“setup test”脚本和一个“cleartest”脚本,在测试执行之前和之后运行。除非您在这里谈论的是大量的数据——这会使测试执行太慢,否则这将很好地工作,并使测试可重复,因为您知道,每次运行该测试套件时,都会有等待执行的正确数据。 |
Alex · 从实际对象的实例返回默认模拟结果 2 年前 |
Five · 如何使用Maven将目录从父模块复制到子模块 2 年前 |
Zmur · 动态创建架构。Spring之前的sql上下文 6 年前 |
Dan Bmd · 在pactdsl请求正文中使用regex 6 年前 |
r3plica · 与的集成测试。net核心和标识框架 6 年前 |