Neotest-Jest 项目教程
neotest-jest 项目地址: https://gitcode.com/gh_mirrors/ne/neotest-jest
1. 项目介绍
neotest-jest
是一个为 Neotest 框架提供的 Jest 适配器插件。Neotest 是一个用于 Neovim 的测试框架,而 neotest-jest
则允许你在 Neovim 中使用 Jest 进行测试。该项目需要至少 Neotest 4.0.0 版本,而 Neotest 又需要至少 Neovim 0.9.0 版本。
2. 项目快速启动
安装
使用 packer
进行安装:
use({
'nvim-neotest/neotest',
requires = {
'nvim-neotest/neotest-jest'
},
config = function()
require('neotest').setup({
adapters = {
require('neotest-jest')({
jestCommand = "npm test --",
jestConfigFile = "custom.jest.config.ts",
env = { CI = true },
cwd = function(path)
return vim.fn.getcwd()
end
})
}
})
end
})
确保你已经安装了适当的 treesitter 语言解析器,否则将无法找到测试:
:TSInstall javascript
使用
查看 Neotest 的文档以获取更多关于如何运行测试的信息。
3. 应用案例和最佳实践
运行测试
你可以使用 Neotest 的命令来运行测试。例如,使用以下命令运行所有测试:
:lua require('neotest').run.run()
监视模式
Jest 允许你以监视模式运行测试。你可以在设置中全局启用它:
require('neotest').setup({
adapters = {
require('neotest-jest')({
jestCommand = require('neotest-jest.jest-util').getJestCommand(vim.fn.expand('%:p:h')) .. ' --watch'
})
}
})
或者添加一个特定的快捷键来以监视模式运行测试:
vim.api.nvim_set_keymap("n", "<leader>tw", "<cmd>lua require('neotest').run.run({ jestCommand = 'jest --watch ' })<cr>", {})
参数化测试
如果你想让 neotest-jest
发现参数化测试,你需要在配置中启用 jest_test_discovery
标志:
require('neotest').setup({
adapters = {
require('neotest-jest')({
jest_test_discovery = false
})
}
})
同时建议禁用 Neotest 的发现选项:
require("neotest").setup({
discovery = { enabled = false }
})
4. 典型生态项目
Neotest
neotest
是一个用于 Neovim 的测试框架,支持多种测试适配器,包括 neotest-jest
。
Jest
Jest 是一个流行的 JavaScript 测试框架,广泛用于前端和后端项目的单元测试和集成测试。
Neovim
Neovim 是一个高度可扩展的 Vim 编辑器,支持 Lua 脚本,非常适合开发人员进行定制和扩展。
通过结合 neotest-jest
和 Neotest,你可以在 Neovim 中无缝集成 Jest 测试,提高开发效率。
neotest-jest 项目地址: https://gitcode.com/gh_mirrors/ne/neotest-jest