【问题标题】:How to prevent coverage.py in Django from resetting coverage between runs?如何防止 Django 中的 coverage.py 在运行之间重置覆盖率?
【发布时间】:2019-02-07 19:16:25
【问题描述】:

搜索了文档,但找不到这样做的方法。我一直在使用以下命令运行我的测试套件:

coverage manage.py run test tests

这将运行“测试”文件夹中的所有测试。在此之后,为了测量覆盖率,我使用了报告命令:

coverage report -m

问题在于,此测量在运行之间完全重置。因此,假设我在套件中运行所有测试并达到 85% 的覆盖率。如果我随后运行/重新运行单个测试用例/测试方法,覆盖率测量将被重置,因此报告将仅显示上次运行的特定测试用例/测试方法的覆盖率。

根据我的使用情况,获得最新覆盖率测量的唯一方法是重新运行所有测试用例(这需要很长时间)。有没有办法让覆盖率测量存储以前的结果,并且只修改后续运行测试结果的覆盖率

【问题讨论】:

    标签: django coverage.py django-unittest


    【解决方案1】:

    来自the docs

    默认情况下,程序的每次运行都从一个空数据集开始。如果您需要多次运行程序以获取完整数据(例如,因为您需要提供不相交的选项),您可以使用 run 命令上的 -a 标志在运行中累积数据。

    -a也可以是--append

    【讨论】:

    • 先生,我向您的文档搜索技巧低头。
    猜你喜欢
    • 2013-01-31
    • 1970-01-01
    • 1970-01-01
    • 2016-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-06
    相关资源
    最近更新 更多