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.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
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.