An extensible framework for running and interacting with tests directly within the NeoVim editor.
Neotest is a framework for interacting with tests within NeoVim. It provides a unified interface to run, debug, and monitor tests from various languages and test runners without leaving the editor, enhancing developer workflow and productivity.
NeoVim users who write and run tests in multiple programming languages and want a deeply integrated, extensible testing experience directly in their editor.
Developers choose Neotest for its extensible adapter system that supports a wide range of test runners, its deep integration with NeoVim's ecosystem (like treesitter and nvim-dap), and its rich consumer interfaces that provide real-time feedback and debugging capabilities.
An extensible framework for interacting with tests within NeoVim.
Supports a wide range of test runners through community adapters for languages like Python, JavaScript, Go, and Rust, as listed in the README, allowing unified testing across projects.
Leverages NeoVim's ecosystem with treesitter for parsing and nvim-dap for debugging, providing seamless, editor-native test execution and inspection without switching contexts.
Includes consumers like output windows, summary panels, and status signs that display interactive test results and diagnostics, enhancing workflow visibility.
Allows running tests at multiple levels (nearest, file, directory) with background processes and custom strategies, enabling tailored testing workflows.
Requires installing multiple dependencies like nvim-treesitter, plenary.nvim, and FixCursorHold.nvim, plus individual adapter configuration, which can be time-consuming and error-prone.
Community-maintained adapters may be outdated or lack features like error location parsing, leading to inconsistent experiences and potential bugs across different languages.
Labeled as early stage software, it may have breaking changes, incomplete documentation, or unstable features, as admitted in the README, risking production use.
Displays test coverage data in the sign column
A Neovim plugin to easily run and debug Jest tests
A Neovim wrapper for running tests
neotest-jest is a plugin that integrates Jest, the popular JavaScript testing framework, into the Neotest ecosystem for Neovim. It allows developers to run, debug, and manage Jest tests directly from their editor, streamlining the testing workflow without leaving the coding environment. ## Key Features - **Jest Integration** — Seamlessly runs Jest tests within Neovim using the Neotest framework. - **Flexible Configuration** — Supports custom Jest commands, arguments, config files, environment variables, and working directories. - **Watch Mode Support** — Enables running tests in Jest's watch mode for continuous feedback. - **Parameterized Test Discovery** — Can discover and run parameterized tests created with `it.each` or `test.each`. - **Monorepo Support** — Provides configuration options for handling monorepo structures with multiple Jest configurations. - **Debugging Capabilities** — Integrates with nvim-dap for debugging Jest tests directly in Neovim. ## Philosophy neotest-jest aims to provide a robust and configurable bridge between Jest and Neovim, following the Neotest philosophy of creating a unified testing experience within the editor.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.