# Coverage.py configuration file

[run]
# 指定要测量覆盖率的源代码目录
source = .

# 排除测试、虚拟环境、第三方包和覆盖率运行器本身
omit =
    tests/*
    */__pycache__/*
    */site-packages/*
    .venv/*
    venv/*
    setup.py
    run_coverage.py

# 启用分支覆盖率
branch = True

[report]
# 报告中显示的精度
precision = 2

# 报告中排除的行（带有 # pragma: no cover 注释的行）
exclude_lines =
    # 标准的排除模式
    pragma: no cover

    # 不测试调试代码
    def __repr__

    # 不测试抽象方法
    raise AssertionError
    raise NotImplementedError

    # 不测试 if __name__ == '__main__'
    if __name__ == .__main__.:

    # 不测试类型检查代码
    if TYPE_CHECKING:

    # 不测试协议方法
    @abstractmethod

# 报告中跳过空文件
skip_empty = True

# 报告中跳过覆盖率 100% 的文件
skip_covered = False

# 按覆盖率从低到高排序，优先暴露薄弱模块
sort = Cover

[html]
# HTML 报告输出目录
directory = htmlcov

# HTML 报告标题
title = MCP Gateway Coverage Report

[xml]
# XML 报告输出文件
output = coverage.xml