Files
test-samurai-jest-runner/README.md
M.Schirmer a6c9da2f9a
All checks were successful
tests / test (push) Successful in 8s
detect and use project jest.setup.{j,t}s files
2026-01-08 12:42:44 +01:00

1.8 KiB

test-samurai-jest-runner.nvim

Jest.js runner for test-samurai.nvim.

Main plugin: https://gitea.mschirmer.com/m13r/test-samurai.nvim

Features

  • Detects Jest test files (*.test.*, *.spec.*).
  • Activates only when the nearest package.json lists jest in dependencies or devDependencies.
  • Finds nearest test/it within describe blocks.
  • Builds npx jest commands for nearest, file, all, and failed-only runs.
  • Streams results via a custom Jest reporter using onTestCaseResult.
  • Uses --testLocationInResults for Quickfix and <leader>o support.
  • Captures console.* output per test case and shows it in the detail float.

Installation (lazy.nvim)

{
  "m13r/test-samurai.nvim",
  dependencies = {
    "m13r/test-samurai-jest-runner.nvim",
  },
  config = function()
    require("test-samurai").setup({
      runners = {
        require("test-samurai-jest-runner"),
      },
    })
  end,
}

Local Development (lazy.nvim)

{
  "m13r/test-samurai.nvim",
  dependencies = {
    {
      "test-samurai-jest-runner.nvim",
      dir = "/absolute/path/to/test-samurai-jest-runner.nvim",
    },
  },
  config = function()
    require("test-samurai").setup({
      runners = {
        require("test-samurai-jest-runner"),
      },
    })
  end,
}

Usage

Use the standard test-samurai.nvim commands (e.g. TSamNearest, TSamFile, TSamAll, TSamFailedOnly).

Notes

  • The reporter lives at reporter/test_samurai_jest_reporter.js and is loaded via --reporters.
  • Test names are reported as Describe/It for grouping in the listing.
  • Stdout capture uses reporter/test_samurai_jest_stdout.js via --setupFilesAfterEnv and tags output as TSAMURAI_STDOUT.
  • If present, jest.setup.js or jest.setup.ts from the project root or test/.bin is appended via --setupFilesAfterEnv.