2016-04-06 23 views
2

Django 1.8.12'de bir proje yürütüyorum ve test veritabanını described in the documentation olarak korumak istiyorum. test komut kendisi kullanarak, yardım metninde -k/--keepdb seçeneği listeler rağmen başarısız:Django'nun test komutu neden bazı seçenekleri tanımıyor?

[email protected] /vagrant/project (master) $ python manage.py test -k myapp.tests.testcase 
nosetests myapp.tests.testcase -k --verbosity=1 
Usage: manage.py [options] 

manage.py: error: no such option: -k 

[email protected] /vagrant/project (master) $ python manage.py test --keepdb myapp.tests.testcase 
nosetests myapp.tests.testcase --keepdb --verbosity=1 
Usage: manage.py [options] 

manage.py: error: no such option: --keepdb 

örneğin bazı diğer seçenekler, aynı komutu çağırma -q veya --failfast düzgün çalışıyor. Öte yandan, --no-color gibi diğer bazı listelenen seçenekler benzer bir şekilde başarısız olur.

Burada bir şey mi özlüyorum? Bu seçenekleri komuta nasıl geçirebilirim?

+0

Testlerde 'django.test.TestCase' veya' unittest.TestCase' kullanıyor musunuz? – C14L

+0

'django.test.TestCase' kullanıyorum, ama büyük olasılıkla hiç çağrılmadıklarından çok önemli olduğunu düşünmüyorum, hata bundan önce yürütmeyi sona erdiriyor. '-k' seçeneği kullanıldığında' unittest.TestCase' seçeneğine geçiliyor veya 'class TestCase (object): pass' ise aynı hata mesajına neden oluyor. –

+0

Diğer uygulamalarda test yapabilir misiniz, yoksa başarısız mıdır? [Django 1.8 kaynağı] (https://github.com/django/django/blob/1.8.12/django/test/runner.py#L55) bunu biliyor. – C14L

cevap

3

Benzer bir sorunla karşılaştım ve sorun proje ayarlarında TEST_RUNNER ayarını django_nose olarak ayarlıyordu. Yani ../settings/local.py içinde, dışında yorum ya bu kaldırarak:

TEST_RUNNER = 'django_nose.NoseTestSuiteRunner'

--keepdb anahtarı kullanılmasını sağlar.

+0

Gerçekten de, --keepdb, Django'nun varsayılan test kullanıcısı için bir seçenek gibi görünüyor. Bununla birlikte, NoseTests kullanmayı tercih ediyorum, bu nedenle 'REUSE_DB = 1 python manage.py test' ile test yapmak benim için hiledir. Cevabı doğru olarak işaretleme bana uygun bir çözüm bulmama yardımcı oldu. –

+0

'django_nose'un daha yeni sürümleri' --keepdb' seçeneklerinden geçer, bu yüzden başka bir çözüm Python paketini yükseltmek (örneğin, benim için django-burnunu 1.4.1'den 1.4.4'e yükseltmek) - çalışmaya devam et –

İlgili konular