2013-03-13 11 views
5

Gli apparecchi tendono ad essere piccoli e riutilizzabili. Dato che una specifica attrezzatura può contare su altri apparecchi diCome organizzare i fari quando si utilizza pytest

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

Vorrei organizzare i miei infissi in moduli, e importarli in un test-file specifico in questo modo (per esempio)

from .fixtures.models import Account 

Purtroppo questo non sembra funzionare. Invece devo sempre importare anche tutti i dispositivi subordinati, ad es.

from .fixtures.models import Account, db, memcache 

Qual è l'approccio migliore per avere a grana fine di piccole dimensioni, infissi riutilizzabili e renderli accessibili a livello di modulo. (conftest funziona a livello di pacchetto/directory.)

+6

Cosa c'è di sbagliato nell'organizzazione dei fari nei file conftest.py? Funziona bene per noi in progetti di grandi dimensioni e tutti vengono caricati e hanno un ambito implicito appropriato. – flub

risposta

1

Di solito non lo consiglio, ma se si dispone di moduli contenenti un set specifico di dispositivi (che dipendono l'uno dall'altro), allora forse from .fixtures.models import * sarebbe fattibile? Non riesco a pensare ad un'altra soluzione generica al momento che eviti di conoscere le dipendenze delle fixture sottostanti nel modulo di test di importazione.

+0

In realtà sono venuto dall'approccio 'from funcargs import *' e ho cercato di evitarlo. Merita una _richiesta di funzionalità_? –

+0

a meno che non ci sia un'idea su come migliorarlo, una richiesta di funzionalità non sarà di grande aiuto, temo. – hpk42