2015-10-22 6 views
12

Ich habe eine .coveragerc Datei im Stamm meines Projekts. Es erzählt coverage.py mein Projekt Migrationen Verzeichnisse auslassen:Wie konfiguriere ich PyCharms Coverage Checker zur Erkennung von .coveragerc?

[run] 
omit = *migrations* 

Wenn ich coverage.py in der Befehlszeile ausführen, die Config ich in .coveragerc setzte befolgt wird.

PyCharm erkennt es jedoch nicht. Gibt es eine Einstellung, die ich vermisse?

Wenn es sich herausstellt, gibt es keine Möglichkeit für PyCharm, .coveragerc zu erkennen, würde ich mit sogar gerade einer Möglichkeit glücklich sein, diese Verzeichnisse wegzulassen.

+0

Irgendein Erfolg damit? –

+0

@ ArtemMezhenin Kein Glück. Ich habe überall geschaut. Ich glaube nicht, dass PyCharm .coveragerc-Dateien unterstützt. –

Antwort

2

ich mich in der Situation gefunden, wo ich dies dringend erforderlich. Mein Travis-Lauf lief richtig und auch der Overall, aber in PyCharm konnte ich nichts anfangen.

Die Sache ein bisschen hacky, aber hoffentlich wird es die Menschen helfen:

In meinem Stammprojektverzeichnis, ich

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

einen .coveragerc bekam Und ich „gehackt“ ein wenig run_coverage.py von PyCharm: (PyCharm-2016.03.02/Helfer/coverage_runner/run_coverage.py)

bei

Start
argv = [] 

Ersetzen Sie alles mit:

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"]) 

Um diesen Lauf mit Python setup.py Test zu machen, habe ich ein Skript in PyCharm die setup.py sagte verwendet, hatte Testparameter hat, und COVERAGE_COMBINE als globale env. Es ist vielleicht nicht die beste aller Lösungen Zeit sein, aber zumindest ist es mir erlaubt, nicht mehr HTML-Ausgabe zu verwenden, während lokal arbeiten :)

+0

Es gibt nicht genug Informationen hier, um es gehen zu lassen .... –

1

Es gibt eine andere Art und Weise ist, bestimmte Dateien und Ordner zu machen PyCharm ignorieren:

In die Settings wählen Project: ... - Project Structure. Hier können Sie Ordner als Excluded markieren oder Dateien explizit ausschließen.

PyCharms Code Coverage-Berichte ignorieren auch alle diese ausgeschlossenen Dateien.