2013-03-13 29 views
5

Fikstürler küçük ve tekrar kullanılabilir olma eğilimindedir. Belirli fikstürü diğer demirbaşlarPytest kullanırken fikstürler nasıl düzenlenir

güvenebilirsiniz göz önüne alındığında
@pytest.fixture 
def Account(db, memcache): 
    ... 
Ben

from .fixtures.models import Account 

Ne yazık ki bu modüllerde benim armatürleri düzenlemek ve böylece (örneğin) gibi belirli bir test dosyasında bunları ithal etmek istiyorum

işe yaramaz gibi görünüyor. Bunun yerine, her zaman tüm alt armatürleri de ithal etmek zorundayım.

from .fixtures.models import Account, db, memcache 

ince taneli küçük, yeniden kullanılabilir maçlar var ve bir modül düzeyinde bunları erişilebilir hale getirmek için daha iyi bir yaklaşım nedir. (conftest paketi/dizin düzeyinde çalışır.)

+6

Aksamları conftest.py dosyalarında düzenlemede sorun nedir? Bu bizim için büyük projelerde iyi çalışıyor ve hepsi yüklenir ve uygun örtük kapsamlıdır. – flub

cevap

1

Genellikle bunu önermiyorum, ancak belirli bir fikstür grubu içeren modülleriniz varsa (hangisine bağlıdır), belki de from .fixtures.models import * uygulanabilir olabilir? Şu anda başka bir jenerik çözüm düşünemiyorum, bu da ithal test modülündeki altta yatan fikstür bağımlılıklarını bilmekten kaçınacaktır.

+0

Aslında 'funcargs import *' yaklaşımından geldim ve bundan kaçınmaya çalıştım. Bir _feature request_ değerine mi? –

+0

, nasıl geliştirileceği konusunda bir fikir olmadığı sürece, bir özellik isteği çok yardımcı olmayacaktır, korkarım. – hpk42