You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何禁用mypy对test_开头测试函数的类型检查?

如何禁用mypy对测试函数的类型检查

有几种实用方法可以跳过mypy对test_开头测试函数的类型检查,按需选择即可:

1. 通过配置文件全局配置(推荐)

在项目根目录创建mypy.ini或者编辑pyproject.toml,针对测试文件/函数做规则覆盖:

  • 如果测试文件都集中在tests/目录,直接排除整个目录:
    [mypy]
    exclude = ^tests/
    
  • 要是只想忽略test_开头的函数,保留其他代码的类型检查:
    在mypy.ini中添加:
    [mypy]
    disallow_untyped_defs = True
    [mypy-*test_*]
    disallow_untyped_defs = False
    
    或者在pyproject.toml里这么写:
    [tool.mypy]
    disallow_untyped_defs = true
    [[tool.mypy.overrides]]
    module = "*test_*"
    disallow_untyped_defs = false
    

2. 给单个测试函数加忽略注释

如果只需要跳过某几个测试函数的检查,直接在函数上方加注释:

# type: ignore[no-untyped-def]
def test_dummy():
    # Empty test

也可以用更宽泛的# type: ignore[misc],但精准指定错误类型能避免忽略其他潜在问题。

3. 命令行临时忽略(适合单次运行)

临时执行mypy时,可以通过参数排除测试目录或忽略特定错误:

mypy your_project/ --exclude tests/ --disallow-untyped-defs

不过这种方式只对当前运行有效,不如配置文件持久可靠。

内容的提问来源于stack exchange,提问作者ray_otto

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 20:16:06