Neotest-Jest:Neovim 中的 Jest 测试集成指南

Neotest-Jest:Neovim 中的 Jest 测试集成指南

neotest-jest neotest-jest 项目地址: https://gitcode.com/gh_mirrors/ne/neotest-jest

项目介绍

Neotest-Jest 是专为 Neovim 设计的一款 Jest 测试适配器,它允许开发者在 Neovim 环境中无缝运行和管理 Jest 测试套件。该插件依赖于 Neotest 框架 4.0.0 及更高版本,同时要求 Neovim 版本至少为 0.9.0。通过 Neotest-Jest,开发者可以享受到高效的测试体验,包括但不限于测试文件的发现、运行以及在编辑器内的交互式测试执行。

项目快速启动

安装 Neotest 和 Neotest-Jest

确保你的 Neovim 满足最低版本需求,然后使用你喜欢的包管理器来安装 Neotest 和 Neotest-Jest。如果你使用的是 Packer,示例如下:

use {
  'nvim-neotest/neotest',
  requires = {'nvim-neotest/neotest-jest'},
  config = function()
    require('neotest').setup({
      adapters = {
        require('neotest-jest').setup({
          -- 可选配置,比如自定义 jest 命令
          jestCommand = "npm test --",
        }),
      },
    })
  end,
}

配置并运行测试

.vimrc 或 Neovim 的配置文件中进行必要的设置之后,你可以通过快捷键或命令来运行测试。

运行当前文件中的所有测试:
require("neotest").run.run()

或者映射一个快捷键(如 <Leader>t):

vim.api.nvim_set_keymap("n", "<Leader>t", "<cmd>lua require('neotest').run.run()<CR>", {})
开启看门狗模式(Watch Mode):

如果你想让 Jest 在文件更改时自动重跑测试,可以在配置中设置:

require('neotest').setup({
  adapters = {
    require('neotest-jest').setup({
      jestCommand = "npm test -- --watch",
    }),
  },
})

应用案例和最佳实践

参数化测试的启用

对于支持参数化的测试场景,你需要在 Neotest-Jest 的配置中明确启用 jest_test_discovery 选项,并考虑关闭 Neotest 自带的文件内测试发现功能以避免冗余进程:

require('neotest').setup({
  adapters = {
    require('neotest-jest').setup({
      jest_test_discovery = true,  -- 启用参数化测试发现
    }),
  },
  discovery = {
    enabled = false,  -- 关闭 Neotest 默认的测试发现机制
  },
})

处理Monorepo

如果你的项目是Monorepo结构,并且每个子包有不同的 Jest 配置,则可能需要指定 jestConfigFile 或调整工作目录和环境变量,以确保正确地定位到每个包的配置。

require('neotest').setup({
  adapters = {
    require('neotest-jest').setup({
      jestConfigFile = "path/to/custom/jest.config.js",
      cwd = function() return vim.fn.getcwd() end,  -- 根据需要定制当前工作目录
    }),
  },
})

典型生态项目

Neotest-Jest 作为 Neovim 生态的一环,通常与其他工具集成,例如 nvim-dap 用于调试测试,以及 nvim-treesitter 提供更好的语法树解析能力,增强测试文件的识别。结合这些生态项目,开发者可以获得调试测试、代码高亮和高级文本解析等功能,极大地提升了开发效率和测试流程的顺畅度。

确保你的开发环境集成了上述工具,以便充分利用 Neotest-Jest 提供的所有功能,打造高效且高度自定义的测试工作流。

neotest-jest neotest-jest 项目地址: https://gitcode.com/gh_mirrors/ne/neotest-jest

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

颜钥杉Harriet

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值