我的项目根目录中有一个.coveragerc
文件。它告诉coverage.py省略我项目的迁移目录:
[run]
omit = *migrations*
当我在命令行运行coverage.py
时,会遵守我放入.coveragerc的配置。
然而,PyCharm不承认它。有没有我失踪的环境?
如果事实证明PyCharm无法识别.coveragerc
,我会很高兴即使只是省略这些目录的方法。
答案 0 :(得分:9)
答案 1 :(得分:4)
有一种不同的方法可以让PyCharm忽略某些文件和文件夹:
在Settings
选择Project: ...
- Project Structure
。您可以在此处将文件夹标记为Excluded
或专门排除文件。
PyCharm的代码覆盖率报告也忽略了所有这些被排除的文件。
答案 2 :(得分:3)
我发现自己处于需要这种情况的情况。我的travis跑步正常,工作服也是如此,但我无法在PyCharm中使用。
事情有点儿,但希望它能帮助人们:
在我的根项目目录中,我得到了一个.coveragerc
function on_display_cart_item_price_html($html, $cart_item, $cart_item_key) {
if (is_cart()) {
$price_adjusted = 10; // your adjustments here
$price_base = $cart_item['data']->sale_price;
if (!empty($price_adjusted)) {
if (intval($price_adjusted) > 0) {
$_qnty = $cart_item['quantity'];
$cart_item['data']->set_price($price_base - ($price_adjusted / $_qnty));
$html = '<del>' . wc_price($price_base) . '</del><ins> ' . wc_price($price_base - ($price_adjusted / $_qnty)) . '</ins>';
} else {
$html = '<span class="amount">' . wc_price($price_base) . '</span>';
}
}
}
return $html;
}
add_filter('woocommerce_cart_item_price', 'on_display_cart_item_price_html', 100, 3);
function change_woocommerce_cart_subtotal( $cart_subtotal, $compound, $cart ) {
$cart_subtotal = 5;
return $cart_subtotal;
};
add_filter( 'woocommerce_cart_subtotal', 'change_woocommerce_cart_subtotal', 10, 3 );
// define the woocommerce_order_amount_total callback
function change_woocommerce_order_amount_total( $order_total ) {
$order_total = 5;
return $order_total;
};
add_filter( 'woocommerce_cart_totals_order_total_html', 'change_woocommerce_order_amount_total' );
我“破解”了一些PyCharm的run_coverage.py :( pycharm-2016.3.2 / helpers / coverage_runner / run_coverage.py)
从
开始[run]
omit = ./venv
concurrency = multiprocessing
parallel = True
source = HookTest
data_file = .cache/.coverage
用以下内容替换所有内容:
argv = []
为了使用python setup.py测试运行,我在PyCharm中创建了一个脚本,它使用了所述的setup.py,test has参数,COVERAGE_COMBINE为全局env。它可能不是最好的解决方案,但至少它允许我在本地工作时不再使用HTML输出:)
答案 3 :(得分:1)
您可以将PyCharm放置在运行测试的工作目录中,以使用.coveragerc
。
https://youtrack.jetbrains.com/issue/PY-16945的功能请求已实现,并且在版本2018.1。中有效。
答案 4 :(得分:1)
在最新的Pycharm版本2018.3.4中不起作用。
我成功使之生效的唯一方法是将run_coverage.py
设置为@PonteIneptique
这是我唯一要做的修改:
run_xml = os.getenv('PYCHARM_RUN_COVERAGE_XML')
argv = ["xml", "-o", coverage_file + ".xml", "--ignore-errors"]
rcfile = cwd + "/.coveragerc"
if os.path.exists(rcfile):
print("Loading rcfile\n")
argv += ["--rcfile", rcfile]
if run_xml:
os.chdir(cwd)
main(argv)
else:
try:
main()
finally:
if run_cov:
os.chdir(cwd)
main(argv)
确保在配置中也设置.coveragerc文件的工作目录。 Pycharm编码人员应从GUI更新其代码以支持此.coveragerc文件。