2013-03-13 2 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

ответ

1

Обычно я не рекомендую это, но если у вас есть модули, содержащие определенный набор светильников (которые зависят друг от друга), то может быть from .fixtures.models import *? В настоящий момент я не могу придумать другое универсальное решение, которое позволит избежать понимания зависимостей привязки в тестовом модуле импорта.

+0

Я на самом деле пришел из подхода 'from funcargs import *' и попытался его избежать. Стоит ли _feature request_? –

+0

, если есть идея, как его улучшить, запрос функции не будет очень полезен, я боюсь. – hpk42

Смежные вопросы