擅长:python、mysql、java
<p>我发现自己处在一个非常需要这个的境地。我的travis跑步跑得很好,工作服也很正常,但我无法在PyCharm中正常工作。在</p>
<p>这件事有点老套,但希望它能帮助人们:</p>
<p>在我的根项目目录中,我得到了一个.coveragerc</p>
<pre><code>[run]
omit = ./venv
concurrency = multiprocessing
parallel = True
source = HookTest
data_file = .cache/.coverage
</code></pre>
<p>我“砍掉”了一点_覆盖率.py关于PyCharm:(PyCharm-2016.3.2/helpers/coverage_runner/run_覆盖率.py)在</p>
<p>开始于</p>
^{pr2}$
<p>替换为:</p>
<pre><code>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"])
</code></pre>
<p>用python运行设置.py测试时,我在PyCharm中创建了一个脚本,使用said设置.py,使测试具有参数,并且覆盖率_组合为全局环境。它可能不是最好的解决方案,但至少它允许我在本地工作时不再使用HTML输出:)</p>