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 :)
Każdy sukces z tym? –
@ArtemMezhenin Bez powodzenia. Szukałem wszędzie. Nie sądzę, że PyCharm obsługuje pliki .coveragerc. –