2013-04-11 18 views
6

Eski bir sistemden veriyi Django'ya aktarıyorum. Mevcut veritabanının bütünlüğünü sağlamak için her şeyi el ile yapıyorum. Bununla birlikte, birim testleri yazarken, işlemler düzgün bir şekilde geri alınamaz. TestCase büyük olasılıkla işlemleri kullanıyor olduğundan, Django'daki kodları işlemlere dayanan düzgün bir şekilde test etmenin herhangi bir yolu var mı?Manuel DB işlem kodunu Django'da nasıl test ederim?

@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 

cevap

10

Ben o zaman farklı, normal TestCase kurulum ve ayırma kolları TransactionTestCase aradığınız inanıyoruz.

+0

Awesome - çok teşekkürler! İşlemlerin etrafındaki belgeler düzgün bir şekilde nasıl test edileceğinden bahsetmiyor. https://docs.djangoproject.com/en/1.5/topics/db/transactions/ – strongriley

İlgili konular