# vim-test/vim-test

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/vim-test-vim-test).**

3,139 stars · 412 forks · Vim Script · mit

## Links

- GitHub: https://github.com/vim-test/vim-test
- awesome-repositories: https://awesome-repositories.com/repository/vim-test-vim-test.md

## Topics

`neovim` `tdd` `test-runner` `testing` `vim`

## Description

vim-test is a Vim extension and multi-language test orchestrator that automatically detects and executes test suites directly from the editor. It functions as a configurable framework for triggering CLI-based testing across diverse programming languages, mapping source files to their corresponding tests and running them via language-specific tools.

The system distinguishes itself through a customizable runner framework that allows for the definition of custom execution logic and flags. It utilizes a pluggable architecture to support various testing frameworks and languages by mapping identifiers to specific executable logic and command templates.

The plugin covers a broad range of automation capabilities, including automated test discovery, cursor-based single test execution, and the ability to trigger tests automatically upon saving files. It manages execution environments by supporting internal terminals, external shells, and background processes, while allowing for the configuration of CLI options and environment variables.

## Tags

### Development Tools & Productivity

- [Editor-Integrated Test Execution](https://awesome-repositories.com/f/development-tools-productivity/debugging-profiling-testing/test-execution-management/editor-integrated-test-execution.md) — Provides a Vim-integrated environment to execute and monitor test suites, files, and individual tests across multiple languages. ([source](https://cdn.jsdelivr.net/gh/vim-test/vim-test@master/README.md))
- [Test Runner Integrations](https://awesome-repositories.com/f/development-tools-productivity/vim-plugins/test-runner-integrations.md) — Integrates test suite and individual test execution directly within the Vim editor.
- [Vim Plugins](https://awesome-repositories.com/f/development-tools-productivity/code-editors-ides/extension-ecosystems-management/editor-extensions/editor-integrations/vim-plugins.md) — Extends the Vim editor to automatically detect and execute test suites for multiple languages.
- [Customizable Execution Flags](https://awesome-repositories.com/f/development-tools-productivity/command-options/customizable-execution-flags.md) — Allows users to append custom flags, formatting options, and environment variables to the test execution command. ([source](https://cdn.jsdelivr.net/gh/vim-test/vim-test@master/README.md))
- [Automated Test Execution](https://awesome-repositories.com/f/development-tools-productivity/debugging-profiling-testing/test-execution-management/automated-test-execution.md) — Triggers test suites automatically upon saving or editing files to verify software functionality during development. ([source](https://cdn.jsdelivr.net/gh/vim-test/vim-test@master/README.md))
- [Execution Environment Selection](https://awesome-repositories.com/f/development-tools-productivity/execution-environment-selection.md) — Allows users to choose between internal terminals, external shells, or background processes for test execution. ([source](https://cdn.jsdelivr.net/gh/vim-test/vim-test@master/README.md))
- [Command Construction](https://awesome-repositories.com/f/development-tools-productivity/shell-command-runners/command-construction.md) — Dynamically constructs shell commands by combining runner paths with flags and cursor-based filters.
- [Command Wrapping](https://awesome-repositories.com/f/development-tools-productivity/shell-command-runners/command-wrapping.md) — Modifies final command strings to wrap executions in remote sessions or specific environment shells. ([source](https://cdn.jsdelivr.net/gh/vim-test/vim-test@master/README.md))

### Software Engineering & Architecture

- [Source-to-Test Mappings](https://awesome-repositories.com/f/software-engineering-architecture/naming-conventions/file/source-to-test-mappings.md) — Automatically links source files to corresponding test files using predefined naming transformations.
- [Test-Driven Development Workflow](https://awesome-repositories.com/f/software-engineering-architecture/test-driven-development-workflow.md) — Supports an iterative development cycle by executing tests automatically upon saving files.

### Testing & Quality Assurance

- [Multi-Language Test Frameworks](https://awesome-repositories.com/f/testing-quality-assurance/multi-language-test-frameworks.md) — Provides a unified command interface in Vim to manage various testing frameworks across polyglot projects.
- [Runner Configurations](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/testing-frameworks/test-frameworks/execution-and-infrastructure/test-execution-runners/custom-test-runners/runner-configurations.md) — Allows defining specific shell commands and environment variables to trigger external testing tools.
- [Runner Definitions](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/testing-frameworks/test-frameworks/execution-and-infrastructure/test-execution-runners/custom-test-runners/runner-definitions.md) — Enables users to specify new languages and executable logic to support non-builtin testing frameworks. ([source](https://cdn.jsdelivr.net/gh/vim-test/vim-test@master/README.md))
- [Runner Templates](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/testing-frameworks/test-frameworks/execution-and-infrastructure/test-execution-runners/custom-test-runners/runner-templates.md) — Provides a pluggable architecture to support new languages via custom executable logic and command templates.
- [Test Runner Frameworks](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/testing-frameworks/test-frameworks/execution-and-infrastructure/test-execution-runners/test-runner-frameworks.md) — Offers a configurable framework for defining custom execution logic and flags for various testing tools.
- [Test Discovery Mechanisms](https://awesome-repositories.com/f/testing-quality-assurance/test-discovery-mechanisms.md) — Automates the identification and queuing of test files based on the currently open buffer.
- [Test Execution Filtering](https://awesome-repositories.com/f/testing-quality-assurance/test-execution-filtering.md) — Executes specific tests nearest to the cursor by filtering the test runner based on the identified location. ([source](https://github.com/vim-test/vim-test/wiki/Minitest))
- [Cross-File Test Linking](https://awesome-repositories.com/f/testing-quality-assurance/test-file-selection/cross-file-test-linking.md) — Identifies and runs tests for the corresponding test file while editing an application implementation file. ([source](https://cdn.jsdelivr.net/gh/vim-test/vim-test@master/README.md))
- [Test Orchestrators](https://awesome-repositories.com/f/testing-quality-assurance/test-orchestrators.md) — Orchestrates multi-language testing by mapping source files to tests and executing them via CLI tools.
- [Test Runner Discovery](https://awesome-repositories.com/f/testing-quality-assurance/test-runner-discovery.md) — Locates the correct test runner by scanning the project directory for specific configuration files and conventions.
- [Test Suite Execution](https://awesome-repositories.com/f/testing-quality-assurance/test-suite-execution.md) — Executes the entire project test suite directly from the editor without requiring external scripts. ([source](https://github.com/vim-test/vim-test/wiki/Minitest))
- [Asynchronous Test Execution](https://awesome-repositories.com/f/testing-quality-assurance/asynchronous-test-execution.md) — Enables running test suites in the background to ensure the editor interface remains responsive during execution.
- [Test Identification](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/test-execution-orchestration/test-case-generators/test-identification.md) — Uses regular expressions to identify the specific test case nearest to the cursor for targeted execution.
- [Custom Argument Passing](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/testing-frameworks/test-frameworks/execution-and-infrastructure/test-execution-runners/custom-argument-passing.md) — Enables passing custom flags and specific parameters to the test runner to modify execution behavior. ([source](https://github.com/vim-test/vim-test/wiki/Minitest))

### DevOps & Infrastructure

- [Executable Detection](https://awesome-repositories.com/f/devops-infrastructure/ci-cd-pipelines/ci-cd-pipeline-configurations/runner-detection-and-configuration/executable-detection.md) — Automatically locates the correct test runner by scanning the project for specific configuration files. ([source](https://github.com/vim-test/vim-test/wiki/Minitest))
