0

在编写 selenium 测试用例时,我发现了一个奇怪的情况,我正在保存一个表单,并且在保存表单时,我在数据库中创建了一个用户。现在发生了什么,该用户已在数据库中成功创建,但在同一 selenium 测试用例中获取它时,我遇到了DOESNOTEXIST异常。当我在数据库中手动检查时,新创建的用户就在那里。任何人都可以解释我如何在同一程序中创建和测试该用户是否已在 DB 上创建和测试?如果不可能,为什么?

4

1 回答 1

0

我得到了解决方案,实际上问题是transaction handling. 在整个程序中,django 使用 auto_commit 事务,因此只有在程序完全执行后才会发生数据库更改。因此,我不是使用 auto_commit 手动处理事务,而是使用transaction.commit_manuallyandtransaction.commit()transaction.rollback()在我希望它们保存的位置正确提交和回滚事务。

于 2012-08-30T12:40:00.380 回答