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

如何在pytest中允许使用car.test.py这类格式命名测试文件?

问题解决与命名可行性分析

这种命名方式不可行

Python模块命名规则明确要求:模块名只能包含字母、数字和下划线,不能包含点号(.)——点号仅用于区分包层级(比如package.module表示包package下的模块module)。你用car.test.py作为文件名,Python会试图把它解析成car包下的test模块,但实际不存在这样的包结构,直接触发了模块名无效的导入错误,这是底层语法规则限制,不是pytest配置能绕开的。

解决办法

  • 改用符合Python规范的命名:比如car_test.py、test_car.py(后者是pytest默认识别的命名格式,甚至不用改pytest.ini配置),这类下划线分隔的命名完全兼容模块导入规则,不会出现报错。
  • 若坚持类似“后缀.test”的风格,可以调整为car_test.py或者car.test_.py(用下划线替代最后一个点),同时在pytest.ini里把python_files对应改成*.test_.py,不过这种做法没必要,属于舍近求远。
  • 检查测试文件内的导入代码:确保导入Car类的路径正确(比如从项目根目录的模块导入,而非相对路径错误),不过当前报错核心是模块名问题,优先解决命名后再验证导入逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 21:24:22