neotest
项目核心内容总结:
Neotest 是一个用于 Neovim 的测试工具,支持运行、调试、收集测试结果,并提供丰富的可视化功能。
功能与特性:
- 测试运行与调试:支持运行单个测试、当前文件或整个项目,可通过
integrated(集成策略)或dap(调试策略)执行测试,调试需配合 nvim-dap。 - 结果展示:提供输出窗口、输出面板、摘要窗口等,实时显示测试结果、错误信息及测试结构。
- 诊断与状态提示:在代码中直接显示错误位置,测试状态(如通过、失败)通过状态符号展示。
- 自定义适配器:支持通过解析测试文件、构建命令、收集结果等方式扩展适配器,适配不同语言和测试框架。
- 动态监控:文件修改后自动重新运行相关测试。
使用方法:
- 运行测试:
require("neotest").run.run() - 调试测试:
require("neotest").run.run({strategy = "dap"}) - 停止测试:
require("neotest").run.stop() - 查看结果:通过
:h neotest.output等命令打开输出窗口或摘要面板。
适配器开发要点:
需实现解析测试文件、构建运行命令、收集结果三项核心功能,支持通过 Treesitter 查询或正则表达式提取测试结构。