SORU
6 AĞUSTOS 2014, ÇARŞAMBA


Devre dışı Django 1.7 çalışan birim testleri ne zaman göçler

Django1.7tanıttı database migrations.

Çalışırken birimi Django bir zorlar 1.7, testlergöçbu uzun bir zaman alır. Django göçler atlamak, ve son durumda veritabanı oluşturmak istiyorum.

Göçler görmezden kod parçası test olmaz o kadar kötü bir uygulama olabilir, biliyorum. Ama bu durum böyle değil: CI test sunucusu (jenkins) tam göçler koşuyorum. Ben sadece hız önemli benim yerel test, göçler atlamak istiyor.


Bazı bağlam:

Django Kadar1.6Güney kullanırken, SOUTH_TESTS_MIGRATE ayarı kullandım

Varsayılan olarak, Güney syncdb komutu da geçerli göçler eğer vadede etkileşimsiz modu içeren olduğunda test - run her göç her zaman çalıştırmak testleri.

Eğer test runner eğer göçler çok uzun bir yol uygulamak için alıyorsanız syncdb kullanmak yerine geçirmek - örneğin, eğer sadece set = SOUTH_TESTS_MİGRATE settings.py Yanlış.

Ancaksyncdbartık yok, artıkgöç.

Ve Django1.8Bu kullanacağım--keepdbparametre:

--Keepdb seçeneği test çalışmaları arasında test veritabanını korumak için kullanılır. Bu büyük testi, büyük bir test özellikle çalıştırmak için zaman azaltır eylemler oluşturmak yok hem suite atlama avantajı vardır. Eğer test veritabanı varsa, ilk çalıştırmada oluşturulur ve sonra her bir sonraki çalıştırmak için korunmuş. Herhangi uygulanmamış göçler de test paketi çalıştırmadan önce test veritabanına uygulanır.

Bu soruyu Django 1.7 sınırlıdır.

CEVAP
12 AĞUSTOS 2014, Salı


Django geliştiricileri e-posta listesi this workaround, Bernie Sumption tarafından yayınlanan bak:

Eğer makemigrations henüz çalıştırılmışsa," komut davranır "göç bir uygulama olarak taşınmayan ve doğrudan tablolar modeller oluşturur gibi syncdb 1.6 oldu. Sadece birim için yeni ayarlar bir modül tanımlı "pozitif" "ana * ithalat", settings_test.py ayarlar ve bu hat modülü ekler:

= MİGRATİON_MODULES {"": "uygulamam.uygulamam"} migrations_not_used_in_tests

O zaman bu gibi testleri yaptım:

DJANGO_SETTİNGS_MODULE="uygulamam."python manage.py test . settings_test

Bu aptallar uygulaması taşınmayan olduğunu düşünerek, ve bu yüzden göç her zaman bir test veritabanı güncel yansıtır oluşturulur models.py yapısı.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • DragsterMC Gaming

    DragsterMC G

    30 HAZİRAN 2013
  • TheDigiCraft

    TheDigiCraft

    25 NİSAN 2011
  • Titan Lee Hai

    Titan Lee Ha

    14 Temmuz 2008