def test_commit_on_success(self): self.assertTrue(test_db.get_autocommit()) @test_db.commit_on_success def will_fail(): User.create(username='******') Blog.create() # no blog, will raise an error self.assertRaises(IntegrityError, will_fail) self.assertEqual(User.select().count(), 0) self.assertEqual(Blog.select().count(), 0) @test_db.commit_on_success def will_succeed(): u = User.create(username='******') Blog.create(title='b1', user=u) will_succeed() self.assertEqual(User.select().count(), 1) self.assertEqual(Blog.select().count(), 1)