2024-10-01 11:33:48 发布
网友
我正在使用vimrunner python库来测试我用py-test和pytest-cov编写的vim插件。在
Vimrunner python执行vim服务器并通过服务器远程接口控制客户机vim实例。在
但是,pytest cov(显然)没有看到vim进程执行的行。有没有一种方法可以使其工作,即将覆盖范围指向vim的服务器PID?在
您需要从插件本身运行覆盖率测量,例如:
# Start measuring coverage if in testing if vim.vars.get('measure_coverage'): import os import atexit import coverage coverage_path = os.path.expanduser('~/coverage-data/.coverage.{0}'.format(os.getpid())) cov = coverage.coverage(data_file=coverage_path) cov.start() def save_coverage(): cov.stop() cov.save() atexit.register(save_coverage)
如果需要使用覆盖率工具多次调用覆盖率,则需要:
这将生成combined.coverage文件,然后可以使用该文件生成所需的报告。在
注意:确保每个vim实例只执行一次度量部分,否则覆盖文件可能会被重写。在这种情况下,应该使用PID之外的另一个唯一性源(即随机数)来生成.coverage文件的名称。在
您需要从插件本身运行覆盖率测量,例如:
如果需要使用覆盖率工具多次调用覆盖率,则需要:
^{pr2}$这将生成combined.coverage文件,然后可以使用该文件生成所需的报告。在
注意:确保每个vim实例只执行一次度量部分,否则覆盖文件可能会被重写。在这种情况下,应该使用PID之外的另一个唯一性源(即随机数)来生成.coverage文件的名称。在
相关问题 更多 >
编程相关推荐