2015-10-22 18 views
12

Ho un file .coveragerc nella radice del mio progetto. Racconta coverage.py omettere migrazioni directory del mio progetto:Come si configura il correttore di copertura PyCharm per riconoscere .coveragerc?

[run] 
omit = *migrations* 

Quando eseguo coverage.py nella riga di comando, il config ho messo in .coveragerc è obbedito.

Tuttavia, PyCharm non lo riconosce. C'è un ambiente che mi manca?

Se risulta che PyCharm non è in grado di riconoscere .coveragerc, sarei felice anche solo di un modo per omettere tali directory.

+0

Qualsiasi successo con quello? –

+0

@ArtemMezhenin Senza fortuna. Ho guardato ovunque. Non penso che PyCharm supporti i file .coveragerc. –

risposta

2

mi sono trovato nella situazione in cui ho bisogno di questo male. I miei travis run funzionavano correttamente e così facevano le tute ma non sono riuscito a far funzionare le cose in PyCharm.

La cosa è un po 'hacky, ma speriamo che aiuterà le persone:

nella mia directory principale del progetto, ho ottenuto un .coveragerc

[run] 
omit = ./venv 
concurrency = multiprocessing 
parallel = True 
source = HookTest 
data_file = .cache/.coverage 

E io "hacked" un po' run_coverage.py di PyCharm: (PyCharm-2016/03/02/aiutanti/coverage_runner/run_coverage.py)

a partire da

argv = [] 

sostituire tutto con:

argv = [] 
for arg in sys.argv: 
    if arg.startswith('-m') and arg[2:]: 
     argv.append(arg[2:]) 
    else: 
     argv.append(arg) 

cwd = os.getcwd() 

rcfile = cwd + "/.coveragerc" 
if os.path.exists(rcfile): 
    print("Loading rcfile") 
    i = argv.index("run")+1 
    argv = argv[:i] + ["--rcfile={}".format(rcfile)] + argv[i:] 

sys.argv = argv 

try: 
    main() 
finally: 
    if run_cov: 
     os.chdir(cwd) 
     if os.getenv('COVERAGE_COMBINE'): 
      main(["combine"]) 
     main(["xml", "-o", coverage_file + ".xml", "--ignore-errors"]) 

di fare questa corsa con la prova di python setup.py, ho creato uno script in PyCharm che utilizza detto setup.py, aveva test ha parametri, e COVERAGE_COMBINE come ENV globale. Potrebbe non essere la migliore di tutte le soluzioni di tempo ma almeno permette non me di utilizzare più output HTML mentre si lavora a livello locale :)

+0

Non ci sono abbastanza informazioni qui per farlo andare .... –

1

C'è un modo diverso di fare PyCharm ignorare determinati file e cartelle:

In il Settings sceglie Project: ... - Project Structure. Qui puoi contrassegnare le cartelle come Excluded o escludere i file in modo specifico.

I report di copertura del codice PyCharm ignorano anche tutti i file esclusi.