TestMate C++ installs statistics
By Mate Pek · VS Code Marketplace · Testing
Run GoogleTest, Catch2, DOCtest and Boost.Test tests from VSCode
TestMate C++ has 681,391 recorded installs on VS Code Marketplace.
It ranks #697 of 2,500 tracked VS Code Marketplace listings by installs.
It is rated 5.0 out of 5 from 27 ratings.
PluginStats has 3 daily observations since Oct 16, 2026; the latest is from Oct 18, 2026.
Rating: 4.96 / 5 from 27 ratings
About TestMate C++
TestMate C++
Announcement: Looking for contributors to polish:
• llvm coverage tool: testMate.cpp.experimental.llvm-cov and • g++ coverage tool: testMate.cpp.experimental.gcov.
(current implementation is not tested. more info)
A Catch2, GoogleTest, doctest, CppUTest, Boost.Test and GoogleBenchmark Explorer for VSCode
This extension allows you to run your Catch2, Google Test, DOCtest, CppUTest and Boost.Test tests using the native testing vscode-api. It also has basic support for Google Benchmark.
Screenshots
Features / Show-Off
• New testing API integration has just happened with tons of improvements. • Streaming the test run: Don't have to wait for the result to see the progress (in case your test uses std::cout) • Catch Section and DOCTest SubCase support (limited but still something) • Runs executables parallel (_testMate.cpp.test.parallelExecutionLimit_). • Sorts tests and suites (_testExplorer.sort_). • Supports popular debuggers such as vadimcn.vscode-lldb, webfreak.debug and ms-vscode.cpptools out of the box. • Retire tests and "Autorun" them.
More features
• One executable can be run parallel with distinct set of subtests to boost runtime. • Finds and recognises the executables by a given glob pattern. • Automatically runs executables if it is modified ("_..._" -> "_Enable autorun_") or if a dependency is modified (dependsOn) • Grouping can be fully customized. (Details) • and many more..
Configuration
The extension is pre-configured and it should find executables inside the working directory which match the following _glob pattern_:
Not good enough for you?!: Edit your .vscode/[settings.json] file according to the [test.advancedExecutables]!
| testMate.cpp.___ | Description |
| test.executables | A glob pattern to find test executables. (Relative to the workspace folder or absolute path.) Empty string means disabled. For more options set testMate.cpp.test.advancedExecutables instead of this. NOTE: if testMate.cpp.test.advancedExecutables is set then this is ignored. | | [test.advancedExecutables] | Array of executables with a lot of options. (If this is set then testMate.cpp.test.executables is ignored.) (Details). | | test.workingDirectory | Sets the working directory of the test executable (relative to the workspace folder or absolute path). Note: testMate.cpp.advancedExecutables overwrites it locally. (Variables) | | test.randomGeneratorSeed | Shuffles the tests with the given random. Catch2: --rng-seed ( or 'time'); Google Test: --gtest_random_seed=; CppUTest: [-s []](https://cpputest.github.io/manual.html) (time and 0 both shuffle with a time based seed, because CppUTest requires a seed greater than 0); | | test.runtimeLimit | [seconds] Test executable is running in a process. In case of an infinite loop it will run forever unless this parameter is set. It applies instantly. (0 means infinite) | | test.parallelExecutionLimit | Maximum parallel run of tasks. Tasks are _'running a set of tests'_, _'test executable discovery'_ and _'reload of the executable's test list'_. NOTE: If your executables depend on the same resource exclusively then this could cause a problem. | | test.parallelExecutionOfExecutableLimit | Maximum number of execution of the same executable. With this config it can be allowed that one executable is running at the same time as multiple processes and those processes _'running a set of tests'_ parallel. Useful if one executable has a lot of tests which can be run parallel. It won't have effect unless the test.parallelExecutionLimit is adjusted too. To enable this just for specific executables use the testMate.cpp.test.advancedExecutables -> parallelizationLimit. NOTE: if your test cases depend on the same resource exclusively then this could cause a problem. | | test.testNameLengthLimit | Maximum character count of combined test names for the extension to split the test run into multiple executions. Helps avoid issues coming from command line length limits imposed by the operating systems (ENAMETOOLONG) or development frameworks. Note: The actual executable arguments' length depends on the framework and other settings like prependTestRunningArgs. Recommended checking the logs to determine the actual length of the arguments. | | test.stderrDecorator | Controls whether to show decorators around stderr output (⬇ std::cerr: and ⬆ std::cerr). | | discovery.loadOnStartup | If true, the extension will try to load all the tests after the startup. Otherwise the user has to click on the Test icon on the sidebar to trigger the process. | | discovery.gracePeriodForMissing | [seconds] Test executables are being watched (only inside the workspace directory). In case of one recompiles it will try to preserve the test states. If compilation reaches timeout it will drop the suite. | | discovery.runtimeLimit | [seconds] The timeout of the test-executable used to identify it (Calls the exec with --help). | | discovery.testListCaching | In case your executable took too much time to list the tests, one can set this. It will preserve the output of --gtest_list_tests --gtest_output=xml:.... (Beware: Older Google Test doesn't support xml test list format.) | | discovery.strictPattern | Test loading fails if one of the files matched by test.executable is not a test executable. (Helps noticing unexpected crashes/problems under test loading.) | | [debug.configTemplate] | Sets the necessary debug configurations and the debug button will work. | | debug.breakOnFailure | Debugger breaks on failure while debugging the test. Catch2: --break; Google Test: --gtest_break_on_failure; Doctest: --no-breaks | | debug.noThrow | Skips all assertions that test that an exception is thrown, e.g. REQUIRE_THROWS. This is a Catch2 parameter: --nothrow; | | coverage.profile.default | In case multiple Coverage profiles were registered though API, one can set the default with this option by its _ID_. UI can override this selection, this is just a default. | | log.logpanel | Creates a new…
Description from the VS Code Marketplace listing.
- boost
- boost.test
- c++
- catch2
- catchorg
- clang coverage
- clang++ coverage
- coverage
- cpputest
- doctest
- g++ coverage
- gbenchmark
- gcc coverage
- gcov
- gmock
- google benchmark
- google mock
- google test
- googlemock
- googletest
Where TestMate C++ sits in the listing
Each band is one page of 20. Installs on a log scale. Placement is projected from installs, so it can differ from the marketplace's own sort order. Hover a dot to see the listing.
Charts
Images: 30d · 1y · all time · 1600×900 dark
Adoption over time
7/30/90-day growth
Ranking history
Filled points are observed values; hollow points come from Internet Archive snapshots of the listing page. Dashed segments span periods with no observations — values between points are not interpolated.
Recent observations
Full history (3)Similar VS Code Marketplace Testing plugins
Data source
Install counts, average rating, and rating counts come from the public Visual Studio Marketplace gallery API. Installs are cumulative and exclude updates.
Listing: https://marketplace.visualstudio.com/items?itemName=matepek.vscode-catch2-test-adapter. First seen Oct 16, 2026; last successful collection Oct 18, 2026. See the methodology.