2012-12-05 7 views
5

Ho una complessa configurazione di tox.ini con più ambienti per diverse versioni di python.Come si configura tox in modo che esegua la copertura pytest su un singolo ambiente anziché su tutti?

Mi piacerebbe sapere come dire a tox di eseguire la copertura solo sull'interprete python predefinito.

Uno dei problemi è che l'ambiente python predefinito può essere diverso da una piattaforma all'altra.

Ho uno script wrapper che chiama tox -e py25,py26,docs dove gli argomenti -e sono le versioni rilevate di python.

[tox] 
    ... 
[testenv:docs] 
    ... 
[testenv] 
    commands=py.test --cov-report xml --cov scripts 
    ... 
[testenv:py26] 
    ... 
[testenv:py25] 
    ... 

comportamento desiderato: pytest correre con una copertura per un unico ambiente (questo dovrebbe funzionare integrato con Jenkins).

risposta

4

Penso che si possa usare e includere l'ambiente [testenv:py] che utilizza l'interprete python con cui viene invocato tox stesso. Se definisci la copertura - corri lì dovresti ottenere quello che vuoi.

+0

Grazie, questo è quello che stavo cercando! Ora posso impostare tox per l'esecuzione in due modalità: rapida (esegui solo 'py') e completa (esegui con tutti gli interpreti disponibili inclusa l'esecuzione su piattaforme remote tramite pytest-xdist). – sorin

+0

Ciao, si prega di aggiornare la risposta per includere il modo in cui funziona. Ho appena provato a utilizzare quell'ambiente, ma in realtà non ha eseguito la copertura. Sto provando a testare con python 2.7.5 e 3.4.4. Grazie. – Efren

Problemi correlati