我正在努力成为一名优秀的程序员并使用 Django 的测试工具。一切进展顺利,但我希望能够在调试器中停止程序时检查数据库。看起来我在我的设置例程中所做的数据库工作被包装在一个事务中,所以我无法从另一个会话中看到它(我正在使用 PostgreSQL 后端)。
我已经玩了一些,但没有安装 TransactionMiddleware。我尝试用 django.db.transactions.commit_on_success 装饰我的函数,但这无济于事。
有什么想法吗?
我正在努力成为一名优秀的程序员并使用 Django 的测试工具。一切进展顺利,但我希望能够在调试器中停止程序时检查数据库。看起来我在我的设置例程中所做的数据库工作被包装在一个事务中,所以我无法从另一个会话中看到它(我正在使用 PostgreSQL 后端)。
我已经玩了一些,但没有安装 TransactionMiddleware。我尝试用 django.db.transactions.commit_on_success 装饰我的函数,但这无济于事。
有什么想法吗?
可能使用TransactionTestCase而不是 TestCase 可能会有所帮助。
如果您使用django.test.TestCase
,Django 将每个测试包装在一个事务中,该事务在测试结束时回滚。您应该TransactionTestCase
改为子类。