Vitest for VSCode
This extension is powered by vscode testing api.
Features
- Run/debug vitest tests in vscode
- Watch mode is supported 🎊. Test reruns are blazing fast
Requirements
- Require VSCode's version >= July 2021 (version 1.59).
- Require Vitest's version >= v0.12.0
Config
vitest.enable
: This plugin will try to detect whether the current project is set up with Vitest to activate itself. When it failed, you can enable the plugin manuallyvitest.nodeEnv
: The env passed to runner process in addition toprocess.env
vitest.commandLine
: The command line to start vitest tests. It should have with the ability to append extra arguments. For examplenpx vitest
oryarn test --
.(This is a workspace setting. Do not change it in the user setting directly, which will affect all the projects you open)vitest.include
: Include glob for test files. Default:[\"**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}\"]
vitest.exclude
: Exclude globs for test files. Default:[\"**/node_modules/**\", \"**/dist/**\", \"**/cypress/**\", \"**/.{idea,git,cache,output,temp}/**\"]
vitest.debugExclude
: Automatically skip files covered by these glob patterns. Default:[\"<node_internals>/**\", \"**/node_modules/**\"]
Screenshots
Filter tests by status
Debug
Inspect console output
FAQ
How can I use it in monorepo?
It's not well supported yet. But you can use VS Code workspace as a workaround for now. Each folder of the workspace can have its own vitest extension config.
How can I use this extension when tests are under a sub directory?
You can use VS Code command add folder to workspace
to add the sub directory. The extension should work fine.
test.each
is not working
Dynamic test name is not supported yet. This extension currently relies on the babel parser to calculate the positions of tests statically.
Related issue: vitest-dev#133