La prima caratteristica elencata su tox website è "controllare correttamente l'installazione del pacchetto con diverse versioni e interpreti Python". Questo mi fa pensare che se rovino il mio setup.py, che i test non passeranno, e sarò avvisato del fatto che il mio setup.py è andato male.test in tossicodipendenza non utilizzano necessariamente il codice installato
Questo non è il caso. Quello che succede di fatto è che il codice viene importato dalla directory locale (aka {toxinidir}) se si segue il solito schema di mettere il proprio modulo o pacchetto nella stessa directory del tox.ini. Ciò significa che puoi fare in modo che il tuo setup.py non assoluti assolutamente nulla e tox ti dirà se è a posto. A quel punto, è abbastanza facile non notare il problema fino a dopo aver spinto a pypi e provare a usare la cosa. Questo è il tipo di problema che mi piacerebbe evitare.
Il problema principale è che la stringa vuota viene visualizzata su sys.path durante il test. Python interpreta questo per indicare l'attuale directory di lavoro e le importazioni da lì.
C'è un modo per configurare tox in modo tale che la directory locale non venga utilizzata durante i test?
Attualmente la mia soluzione alternativa è cd {envtmpdir} && coverage run && mv .coverage {toxinidir}
, ma si tratta ovviamente di un brutto attacco.
Qui mi forniscono due versioni del nostro codice:
Il mio obiettivo è quello di trovare una configurazione tox che evita il problema di cui sopra, ed è abbastanza ragionevole raccomandare per l'uso in tutti i progetti.