
Testify
Testify is an open-source extension for Visual Studio Code.
Testify enables you to run or debug JavaScript tests individually or entire suites with a single click through code lens. It adds code lens near any compatible test framework keywords and outputs the results to the integrated terminal.
If you need any information, try using our ever-expanding Wiki. Or, if you have any questions or need any help, join us in the Discussions.
Compatibility
Testify maintainers are always working to support more frameworks as best as possible. Testify currently works with these test frameworks:
Demo

Configuration
You can configure Testify to work a little more to your taste using VSCode's settings. Here are all the configuration properties are available:
[!IMPORTANT]
When configuring testify.testRunnerPath
for the Node.js Test Runner, you must provide the absolute path to the test runner executable on your system.
- On Unix/Linux/macOS, run
which node
in your terminal to get the absolute path.
- On Windows, run
where node
in Command Prompt.
Property |
Description |
Example |
Default |
testify.executablePath |
The relative path (from the workspace folder) to the test runner executable. Used for running and watching tests in the terminal.
- Leave empty to auto-detect supported test runners. - If this is set, testify.entryPointPath MUST be set as well. - For Node.js Test Runner, this MUST be an absolute path. - Prefer forward slashes (/ ) for cross-platform compatibility. |
"node_modules/.bin/mocha" |
"" |
testify.entryPointPath |
The relative path (from the workspace root) to the test runner's JavaScript entry point. Used as the program for the VSCode debugger.
- Leave empty to auto-detect for supported test runners. - If this is set, testify.executablePath should be set as well, otherwise it will not take effect. - Not used for Node.js Test Runner. - Prefer forward slashes (/ ) for cross-platform compatibility. |
"node_modules/mocha/bin/mocha.js" |
"" |
testify.args |
An array of strings with command line arguments passed to the test runner.
- Each item is a separate argument (key and value). - Make sure to quote arguments properly where needed. |
["--require ts-node/register", "--no-timeout"] |
[] |
testify.env |
Environment variables to set when running or debugging tests. Specify as key-value pairs. |
{ "NODE_ENV": "development" } |
{} |
testify.skipFiles |
An array of file or folder names, or path globs, to skip when debugging. Star patterns and negations are allowed |
["<node_internals>/**"] |
[] |
testify.excludeFiles |
An array of file or folder names, or path globs, to be excluded from test discovery. Star patterns and negations are allowed |
["**/*.cy.ts"] |
[] |
testify.autoClear |
Whether to clear the terminal before running each test |
true |
true |
Versioning
We use Semantic Versioning for versioning. For the versions available, see the tags on this repository.
Also, this project adheres to Keep a Changelog.
Contributing
Please read the CONTRIBUTING, and, specially, the CODE OF CONDUCT documents.
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!
Authors
- Geoffrey - Initial work - Github: @g3offrey
- Felix J. Batista - Forked project - Github: @felixjb
based on JavaScript Test Runner by Geoffrey
License
This project is licensed under the MIT License - see the LICENSE file for details.