Codex可在终端自动执行pytest测试并分析失败原因,需版本≥2.4.0、项目根目录含pyproject.toml或setup.py、pytest≥7.0;支持TUI交互、auto-edit直跑、指定文件精准执行三种方式,并智能处理ImportError、AssertionError、timeout等失败。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要在终端里让Codex自动执行pytest测试并分析失败原因,而不是手动敲命令反复试错——它会自己读取项目结构、安装缺失依赖、定位测试入口、运行并根据报错内容决定是否重试或修改代码。
确认环境与项目配置
打开终端,进入项目根目录,运行 codex --version 确认 CLI 已安装且版本 ≥ 2.4.0。旧版本不支持 sandbox 模式下的 pytest 自动执行。
执行 codex "run tests" 前,必须确保当前目录下存在 【pyproject.toml 或 setup.py】,否则 Codex 无法识别项目依赖和测试入口。缺少配置文件时,它会跳过依赖安装直接报错 ModuleNotFoundError。
运行 pip show pytest 检查 pytest 是否已安装且版本不低于 7.0;若未安装,执行 pip install pytest。旧版 pytest 可能无法识别 Codex 生成的异步测试标记。
三种运行方式任选其一
方法一:交互式 TUI 模式(适合调试单个失败用例)
在终端输入:codex run tests --tui。它会启动一个带状态栏和日志滚动的界面,失败时自动高亮 traceback 并建议修复位置。
方法二:命令行直跑(适合 CI/CD 或批量验证)
执行:codex run tests --approval-mode auto-edit。该模式下 Codex 会在测试失败后,自动修改源码或测试文件并重试,直到全部通过或达到最大重试次数。
通过 Codex CLI 生成图片,支持尺寸控制和批量模式。依赖:codex (npm)。代理默认启用。用 generate.sh 生成单张,batch_generate.sh 批量生成游戏 UI 素材,gen_size.sh 指定尺寸。所有输出保存至 ~/.codex/generated_images/。
方法三:绑定特定文件精准执行(适合局部验证)
例如只跑用户模块的测试:codex run tests --target tests/test_user_service.py。这一步会跳过其他测试文件,大幅缩短反馈周期。
处理常见失败场景
第一步:遇到 ImportError: No module named 'src',立即在项目根目录执行:export PYTHONPATH=$(pwd),再重新运行命令。Codex 不会自动设置 PYTHONPATH,必须手动补上。
第二步:若 pytest 报 AssertionError 且断言值含时间戳、UUID 等动态字段,Codex 默认不会 mock 这些值——你得提前在指令中说明:“该函数返回含 datetime.now() 的字典,请用 freezegun 替换系统时间”。
第三步:超时失败(timeout)时,Codex 会主动增加 --timeout=30 参数重试;但若原始测试本身未使用 pytest-timeout 插件,需先运行 pip install pytest-timeout 再重试。
第四步:当多个测试因同一处 bug 连续失败,Codex 会聚合错误堆栈,定位到 src/auth/jwt_decoder.py 第 42 行的 decode() 方法,并尝试插入 try/except 包裹逻辑后重试。

















