2015-10-22 18 views
12

Mam plik .coveragerc w katalogu głównym mojego projektu. Mówi coverage.py pominąć migracje katalogów mojego projektu:Jak skonfigurować narzędzie do sprawdzania pokrycia PyCharm, aby rozpoznać .coveragerc?

[run] 
omit = *migrations* 

Kiedy biegnę coverage.py w wierszu poleceń, config umieścić w .coveragerc jest przestrzegane.

Jednak PyCharm tego nie rozpoznaje. Czy jest jakieś ustawienie, którego mi brakuje?

Jeśli okaże się, że PyCharm nie rozpoznaje .coveragerc, byłbym zadowolony nawet z możliwości pominięcia tych katalogów.

+0

Każdy sukces z tym? –

+0

@ArtemMezhenin Bez powodzenia. Szukałem wszędzie. Nie sądzę, że PyCharm obsługuje pliki .coveragerc. –

Odpowiedz

2

znalazłem się w sytuacji, gdzie potrzebna to źle. Mój bieg na travisie działał poprawnie, podobnie jak kombinezony, ale nie byłem w stanie sprawić, by rzeczy działały w PyCharm.

Rzecz jest nieco hacky, ale mam nadzieję, że to pomoże ludziom:

Moim głównym katalogu projektu, mam .coveragerc

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

I "hacked" trochę run_coverage.py z pycharm: (pycharm-02.03.2016/pomocników/coverage_runner/run_coverage.py)

Począwszy od

argv = [] 

zastąpić wszystko z:

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

Aby uczynić ten bieg z testu python setup.py, stworzyłem skrypt w pycharm że wykorzystuje wspomniany setup.py, miał badanie ma parametr i COVERAGE_COMBINE jako globalnego ENV. To może nie być najlepszy ze wszystkich rozwiązań czasowych, ale przynajmniej pozwala mi się nie używać HTML wyjście już podczas pracy lokalnie :)

+0

Nie ma wystarczająco dużo informacji tutaj, aby go ... –

1

Jest inny sposób, aby pycharm ignorować pewne pliki i foldery:

W Settings wybierz Project: ... - Project Structure. Tutaj możesz oznaczać foldery jako Excluded lub wykluczać pliki specjalnie.

Raporty zasięgu kodu PyCharm ignorują także wszystkie te wykluczone pliki.