2013-03-13 64 views
5

燈具往往很小且可重複使用。考慮到特定的夾具可以依靠其他附着物使用pytest時如何組織燈具

@pytest.fixture 
def Account(db, memcache): 
    ... 

我想安排我的燈具模塊,並導入他們在一個特定的測試文件像這樣(例如)

from .fixtures.models import Account 

不幸的是這似乎沒有工作。相反,我總是必須導入所有從屬裝置,例如,

from .fixtures.models import Account, db, memcache 

什麼是更好的方法來使細粒度小型可重複使用的燈具,並使他們在模塊級別訪問。 (conftest在包/目錄級別工作。)

+6

在conftest.py文件中組織燈具有什麼問題?這對我們在大型項目中工作正常,並且它們都被加載並且具有適當的隱式範圍。 – flub 2013-03-20 14:02:09

回答

1

通常我不推薦這個,但如果你有模塊包含一組特定的燈具(這取決於對方),那麼也許from .fixtures.models import *將是可行的?目前我無法想到另一個通用的解決方案,這將避免瞭解導入測試模塊中潛在的夾具依賴關係。

+0

我其實來自'from funcargs import *'方法,並試圖避免它。值得_feature request_? – 2013-03-16 17:23:11

+0

除非有一個想法如何改進它,功能要求恐怕不會有太大的幫助。 – hpk42 2013-03-19 09:57:49