Domanda

Il mio ambiente di compilazione è configurato per compilare, eseguire e creare file di copertura dalla riga di comando (utilizzando lo strumento Ned Batchelder coverage.py).

Sto usando Eclipse con PyDev come editor, ma per motivi pratici, non è possibile / conveniente per me convertire l'intero ambiente di build in Eclipse (e quindi generare i dati di copertura direttamente dall'IDE, poiché è progettato per fare)

PyDev sembra utilizzare lo stesso strumento di copertura (o qualcosa di molto simile ad esso) per generare le sue informazioni sulla copertura, quindi suppongo che ci dovrebbe essere un modo per integrare i miei file di copertura esterni in Eclipse / PyDev.

Qualche idea su come farlo?

È stato utile?

Soluzione

Avevo bisogno di qualcosa di simile qualche tempo fa, quando PyDev utilizzava ancora una versione precedente di coverage.py rispetto a quella accessibile dalla pagina del creatore dello script.

Quello che ho fatto è stato rilevare dove PyDev stava salvando il suo file .coverage . Per me è stato:

 C:\Users\Admin\workspace\.metadata\.plugins\org.python.pydev.debug\.coverage

Quindi ho eseguito manualmente una nuova versione di coverage.py da uno script separato e gli ho detto di salvare il suo file .coverage nel punto in cui PyDev lo salva. Non riesco a ricordare se esiste un argomento della riga di comando in coverage.py o se ho semplicemente copiato il file .coverage con uno script, ma dopo, se semplicemente apri la Visualizzazione dei risultati della copertura del codice e fai clic su Aggiorna le informazioni sulla copertura! , PyDev elaborerà i dati come se generasse il file stesso.

Altri suggerimenti

Non so nulla sull'integrazione di PyDev di coverage.py (o se usa persino coverage.py), ma i file .coverage sono piuttosto semplici. Sono dizionari marhsal.

Non ho testato questo codice, ma puoi provarlo per combinare due file .coverage in uno:

import marshal
c1_dict = marshal.load(open(file_name_1, 'rb'))
c2_dict = marshal.load(open(file_name_2, 'rb'))
c1_dict.update(c2_dict)
marshal.dump(c1_dict, open(file_name_out, 'wb'))
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top