我有一个函数,我已经封装@transaction.commit_on_success
并在其上运行 Django 单元测试。
该函数太长无法粘贴,但一些伪代码是:
@transaction.commit_on_success
def func():
order = Order.create()
order.save()
OrderItem.create(order=order)
test = 10/0 # make sure we run into an error
然后在我的单元测试中我检查是否len(Order.objects.all()) == 0
我的函数返回一个有效的 Order 对象,因此事务正在提交。
我在这里做错了什么?
编辑:我在 Django 1.5