
Unit Tests
- 172 installs
- 188k repo stars
- Updated July 28, 2026
- microsoft/vscode
Use when running unit tests in the VS Code repo.
About
Use when running unit tests in the VS Code repo. Covers the runTests tool, scripts/test.sh (macOS/Linux) and scripts/test.bat (Windows), and their supported arguments for filtering, globbing, and debugging tests. If the `runTests` tool is available, **prefer it** over running shell commands. It provides structured output with detailed pass/fail information and supports filtering by file and test name.
- ## Preferred: Use the `runTests` tool
- Pass absolute paths to test files via the `files` parameter.
- Pass test names via the `testNames` parameter to filter which tests run.
- Set `mode="coverage"` to collect coverage.
- Example (conceptual): run tests in `src/vs/editor/test/common/model.test.ts` with test name filter `"should split lines"
Unit Tests by the numbers
- 172 all-time installs (skills.sh)
- Ranked #845 of 2,184 Testing & QA skills by installs in the Skillselion catalog
- Security screen: LOW risk (skills.sh audit)
- Data as of Jul 28, 2026 (Skillselion catalog sync)
unit-tests capabilities & compatibility
- Capabilities
- ## preferred: use the `runtests` tool · pass absolute paths to test files via the `files · pass test names via the `testnames` parameter to · set `mode="coverage"` to collect coverage.
- Use cases
- documentation
What unit-tests says it does
Use when running unit tests in the VS Code repo. Covers the runTests tool, scripts/test.sh (macOS/Linux) and scripts/test.bat (Windows), and their supported arguments for filtering, globbing, and debu
npx skills add https://github.com/microsoft/vscode --skill unit-testsAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 172 |
|---|---|
| repo stars | ★ 188k |
| Security audit | 3 / 3 scanners passed |
| Last updated | July 28, 2026 |
| Repository | microsoft/vscode ↗ |
How do I apply unit-tests using the workflow in its SKILL.md?
Use when running unit tests in the VS Code repo. Covers the runTests tool, scripts/test.sh (macOS/Linux) and scripts/test.bat (Windows), and their supported arguments for filtering, globb...
Who is it for?
Developers following the unit-tests skill for the tasks it documents.
Skip if: Tasks outside the unit-tests scope described in SKILL.md.
When should I use this skill?
User mentions unit-tests or related triggers from the skill description.
What you get
Working unit-tests setup aligned with the documented patterns and constraints.
Files
Running Unit Tests
Preferred: Use the runTests tool
If the runTests tool is available, prefer it over running shell commands. It provides structured output with detailed pass/fail information and supports filtering by file and test name.
- Pass absolute paths to test files via the
filesparameter. - Pass test names via the
testNamesparameter to filter which tests run. - Set
mode="coverage"to collect coverage.
Example (conceptual): run tests in src/vs/editor/test/common/model.test.ts with test name filter "should split lines".
Fallback: Shell scripts
When the runTests tool is not available (e.g. in CLI environments), use the platform-appropriate script from the repo root:
- macOS / Linux:
./scripts/test.sh [options] - Windows:
.\scripts\test.bat [options]
These scripts download Electron if needed and launch the Mocha test runner.
Commonly used options
Bare file paths - Run tests from specific files
Pass source file paths directly as positional arguments. The test runner automatically treats bare .ts/.js positional arguments as --run values.
./scripts/test.sh src/vs/editor/test/common/model.test.ts.\scripts\test.bat src\vs\editor\test\common\model.test.tsMultiple files:
./scripts/test.sh src/vs/editor/test/common/model.test.ts src/vs/editor/test/common/range.test.ts--run <file> - Run tests from a specific file (explicit form)
Accepts a source file path (starting with src/). The runner strips the src/ prefix and the .ts/.js extension automatically to resolve the compiled module.
./scripts/test.sh --run src/vs/editor/test/common/model.test.tsMultiple files can be specified by repeating --run:
./scripts/test.sh --run src/vs/editor/test/common/model.test.ts --run src/vs/editor/test/common/range.test.ts--grep <pattern> (aliases: -g, -f) - Filter tests by name
Runs only tests whose full title matches the pattern (passed to Mocha's --grep).
./scripts/test.sh --grep "should split lines"Combine with --run to filter tests within a specific file:
./scripts/test.sh --run src/vs/editor/test/common/model.test.ts --grep "should split lines"--runGlob <pattern> (aliases: --glob, --runGrep) - Run tests matching a glob
Runs all test files matching a glob pattern against the compiled output directory. Useful for running all tests under a feature area.
./scripts/test.sh --runGlob "**/editor/test/**/*.test.js"Note: the glob runs against compiled .js files in the output directory, not source .ts files.
--coverage - Generate a coverage report
./scripts/test.sh --run src/vs/editor/test/common/model.test.ts --coverage--timeout <ms> - Set test timeout
Override the default Mocha timeout for long-running tests.
./scripts/test.sh --run src/vs/editor/test/common/model.test.ts --timeout 10000Integration tests
Integration tests (files ending in .integrationTest.ts or located in extensions/) are not run by scripts/test.sh. Use scripts/test-integration.sh (or scripts/test-integration.bat) instead. See the integration-tests skill for details.
Compilation requirement
Tests run against compiled JavaScript output. Ensure the VS Code - Build watch task is running or that compilation has completed before running tests. Test failures caused by stale output are a common pitfall.
Related skills
FAQ
What does unit-tests do?
Use when running unit tests in the VS Code repo. Covers the runTests tool, scripts/test.sh (macOS/Linux) and scripts/test.bat (Windows), and their supported arguments for filtering, globb...
When should I use unit-tests?
Invoke when Use when running unit tests in the VS Code repo. Covers the runTests tool, scripts/test.sh (macOS/Linux) and scripts/test.bat (Windows), and.
Is unit-tests safe to install?
Review the Security Audits panel on this page before installing in production.