6
私はレガシーシステムからDjangoにデータを転送しています。現在のデータベースの整合性を保証するために、私はすべて手作業でコミットしています。Djangoで手動DBトランザクションコードをテストするにはどうすればよいですか?
ただし、単体テストの作成時には、トランザクションは正しくロールバックされません。 TestCase
はおそらくトランザクションを使用しているので、トランザクションに依存するDjangoのコードを適切にテストする方法はありますか?
@transaction.commit_manually
def import_records():
# initial prep
try:
import_data()
except Exception as error:
rollback = True
except (KeyboardInterrupt, SystemExit):
sys.stdout.write("Import canceled\n")
rollback = True
if rollback is True:
transaction.rollback()
# save history of import
恐ろしくありがとう!トランザクションに関する文書には、適切にテストする方法は記載されていません。 https://docs.djangoproject.com/ja/1.5/topics/db/transactions/ – strongriley