sublime Text 通过 gotoTest 插件实现测试文件与源码文件双向跳转。安装后默认支持 models.py ↔ test_models.py 等常见映射,快捷键为 Ctrl+Alt+T(windows/linux)或 Cmd+Alt+T(macos),亦可自定义路径规则。

sublime text 本身不内置“测试跳转”功能,但通过插件和快捷键配合,可以快速在源码文件和对应测试文件之间切换,比如从 user.py 跳到 test_user.py,或反过来。
安装并配置 GotoTest 插件
这是最轻量、专为测试跳转设计的插件:
- 按 Ctrl+Shift+P(windows/Linux)或 Cmd+Shift+P(macOS),输入 Install Package,回车后搜索 GotoTest 并安装
- 安装后默认支持常见命名规则:如
models.py↔test_models.py、api/views.py↔tests/test_views.py - 跳转方式:光标放在任意 python 文件中,按 Ctrl+Alt+T(Windows/Linux)或 Cmd+Alt+T(macOS)即可双向切换
自定义命名/路径映射(可选)
如果项目结构特殊(比如测试文件在 spec/ 下,或用 _spec.py 后缀),可编辑插件配置:
- 菜单栏 → Preferences → Package Settings → GotoTest → Settings – User
- 添加类似如下规则(示例:匹配
app/user_service.py↔spec/user_service_spec.py):
{ "mappings": [ ["^(.*).py$", "spec/1_spec.py"], ["^spec/(.*)_spec.py$", "1.py"] ] }
替代方案:使用 Project-specific Key Bindings
若不想装插件,也可手动绑定快捷键,调用 Sublime 内置命令 + 正则替换:
里面有2个文件夹。其中这个文件名是:finishing,是我项目还没有请求后台的数据的模拟写法。请求后台数据之后,瀑布流的js有一点点变化,放在文件名是:finished。变化在于需要穿参数到后台,和填充的内容都用后台的数据填充。看自己项目需求来。由于chrome模拟器是不允许读取本地文件json的,所以如果你要进行测试,在hbuilder打开项目就可以看到效果啦,或者是火狐浏览器。
93 - 打开 Preferences → Key Bindings – User
- 添加一条命令(以切换到同名
test_*.py为例):
{ "keys": ["ctrl+alt+t"], "command": "prompt_replace", "args": { "find": "^([^/]+).py$", "replace": "test_1.py", "case_sensitive": false, "in_selection": false } }
⚠️ 注意:该方式需配合文件已保存、路径相对清晰,实用性不如 GotoTest 稳定。
基本上就这些。GotoTest 插件开箱即用,适配多数 Python 项目结构,跳转准确、响应快,是 Sublime 中做测试驱动开发(tdd)时最顺手的辅助工具之一。