2014-06-11 10 views
21

Quando si eseguono i test con py.test, esiste un'opzione --pdb per immettere pdb in caso di errore.Can PyCharm può eseguire il debug quando falliscono i test py.test

C'è un modo simile per accedere al debugger quando si esegue lo stesso test da PyCharm?

+0

Possibile duplicato di [Debug delle eccezioni post mortem pytest in pycharm/pydev] (http://stackoverflow.com/questions/14086067/debugging-pytest-post-mortem-exceptions-in-pycharm-pydev) –

risposta

7

C'è un plugin py.test, pytest-pycharm, che si fermerà il debugger PyCharm quando un test emette un'eccezione non rilevata.

+0

Ottimo! Molte grazie! Puoi dare un paio di parole su come funziona? .. Essendo appena installato in Python e senza alcuna modifica ai progetti? – Mikhail

+0

È sufficiente averlo installato in modo che py.test lo trovi come plug-in e utilizzare il callback quando si verifica un'eccezione. Quindi non c'è bisogno di modificare alcun progetto a parte averlo installato nel runtime python. –

+2

C'è un modo per fermarsi sui punti di interruzione (impostato nei test da PyCharm)? –

1

Seguire le istruzioni riportate di seguito per impostare la configurazione di esecuzione corretta:

  1. Esegui> Modifica Configurazioni ...
  2. Fare clic sul pulsante '+' per aggiungere una nuova configurazione.
  3. Nome della configurazione e specificare i parametri di configurazione di seguito:

Script: Il percorso del file eseguibile py.test (trovare digitando which py.test)

Parametri script: questo parametro è la tua test case seguito dall'opzione --pdb (ovvero /Users/Johan/projects/misc/testing.py --pdb)

Dopo aver impostato la configurazione, è possibile eseguire il test case da PyCh braccio. Se un caso di test fallisce, la tua finestra di esecuzione di PyCharm mostrerà il prompt pdb.

enter image description here

+2

Forse ero non abbastanza chiaro nella mia domanda, ma speravo in un modo per inserire il debugger _PyCharm_ in caso di fallimento. Ma questa risposta è ancora meglio di niente. –

+0

In PyCharm 2016.2, vedo "entrare in PDB" nella finestra Esegui, e posso digitare testo (echi in verde), ma non sembra essere un prompt pdb attivo. – meowsqueak

Problemi correlati