All Projects → matepek → Vscode Catch2 Test Adapter

matepek / Vscode Catch2 Test Adapter

Licence: mit
Catch2, Google Test and doctest Adapter for the VSCode

Programming Languages

typescript
32286 projects
cpp
1120 projects

Projects that are alternatives of or similar to Vscode Catch2 Test Adapter

Vscode Smoothtype
VS Code extension to add cursor transitions while typing, similar to MS Office and the Windows 10 Mail app.
Stars: ✭ 54 (-27.03%)
Mutual labels:  vscode, vscode-extension
Ngrok For Vscode
A VSCode extension to control ngrok
Stars: ✭ 75 (+1.35%)
Mutual labels:  vscode, vscode-extension
Vue Theme Vscode
+200.000 installs ⬇️ Theme for Visual Studio Code inspired by Vue.js, with support for more popular languages, trying to maintain a perfect harmony of colors.
Stars: ✭ 54 (-27.03%)
Mutual labels:  vscode, vscode-extension
Azure Iot Developer Kit
A curated list of awesome Azure IoT Developer Kit projects and resources.
Stars: ✭ 73 (-1.35%)
Mutual labels:  vscode, vscode-extension
Cform Vscode
CloudFormation extension for Visual Studio Code
Stars: ✭ 73 (-1.35%)
Mutual labels:  vscode, vscode-extension
Vscode Openshift Tools
Microsoft Visual Studio Code extension for OpenShift
Stars: ✭ 51 (-31.08%)
Mutual labels:  vscode, vscode-extension
Vscode Rsync
rsync extension for visual studio code
Stars: ✭ 68 (-8.11%)
Mutual labels:  vscode, vscode-extension
Vscode Project Manager
Project Manager Extension for Visual Studio Code
Stars: ✭ 1,022 (+1281.08%)
Mutual labels:  vscode, vscode-extension
Vscode Sftp
Super fast sftp/ftp extension for VS Code
Stars: ✭ 1,121 (+1414.86%)
Mutual labels:  vscode, vscode-extension
Vscode Svgviewer
SVG Viewer for Visual Studio Code
Stars: ✭ 60 (-18.92%)
Mutual labels:  vscode, vscode-extension
Vscode Map Preview
VSCode map preview extension
Stars: ✭ 70 (-5.41%)
Mutual labels:  vscode, vscode-extension
Vscode Git Semantic Commit
💬 A Visual Studio Code extension which enables to commit simply by the semantic message conventions
Stars: ✭ 65 (-12.16%)
Mutual labels:  vscode, vscode-extension
Vscode Ruby Test Adapter
A Ruby test adapter extension for the VS Code Test Explorer
Stars: ✭ 50 (-32.43%)
Mutual labels:  vscode, vscode-extension
Tailwindcss Intellisense
Intelligent Tailwind CSS tooling for Visual Studio Code
Stars: ✭ 1,066 (+1340.54%)
Mutual labels:  vscode, vscode-extension
Vscode Hack
Hack language & HHVM debugger support for Visual Studio Code
Stars: ✭ 45 (-39.19%)
Mutual labels:  vscode, vscode-extension
Vue Vscode Snippets
These snippets were built to supercharge my workflow in the most seamless manner possible.
Stars: ✭ 1,083 (+1363.51%)
Mutual labels:  vscode, vscode-extension
Vs Code For Node Js Development Pack
🏃 A VS Code Extension Pack to get up and running with Node.js Development
Stars: ✭ 41 (-44.59%)
Mutual labels:  vscode, vscode-extension
Vscode Stylefmt
🔌 VS Code plugin for stylefmt— Format your CSS using stylefmt.
Stars: ✭ 42 (-43.24%)
Mutual labels:  vscode, vscode-extension
Vscode Org Mode
Emacs Org Mode for Visual Studio Code
Stars: ✭ 1,096 (+1381.08%)
Mutual labels:  vscode, vscode-extension
Vscode Csscomb
🔌 VS Code plugin for CSScomb — CSS coding style formatter.
Stars: ✭ 63 (-14.86%)
Mutual labels:  vscode, vscode-extension

C++ TestMate

A Catch2, GoogleTest, doctest and GoogleBenchmark Explorer for VSCode

Visual Studio Marketplace GitHub issues Visual Studio Marketplace Gitter

This extension allows you to run your Catch2, Google Test and DOCtest tests using the Test Explorer for Visual Studio Code. It also have basic support for Google Benchmark.

Features / Show-Off

  • Reloads test list of an executable if it is recompiled. (Hint: Right click -> Enable Autorun)
  • 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.

Screenshots

Screenshot1 Screenshot2

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. (More)
  • Automatically runs executables if it is modified ("..." -> "Enable autorun") or if a dependency is modified (dependsOn)
  • Cooperates with other extensions like:
  • Grouping can be fully customized. (Details)
  • Colorizes output window. (This might conflict with other output colorizer extensions, it's a vscode limitation.)
  • and many more.. Ask on gitter.

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 option 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=;
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 Maximizes the number of the parallel test executions. (It applies instantly.) Note: If your executables depend on the same resource exclusively then this could cause a problem.
test.parallelExecutionOfExecutableLimit Maximizes the number of the parallel execution of executables. To enable this just for specific executables use the testMate.cpp.test.advancedExecutables -> parallelizationLimit. The testMate.cpp.test.parallelExecutionLimit is a global limit and this is a local one. Note: If your test cases depend on the same resource exclusively then this could cause a problem.
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 (Experimental) 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;
debug.noThrow Skips all assertions that test that an exception is thrown, e.g. REQUIRE_THROWS. This is a Catch2 parameter: --nothrow;
log.logpanel Creates a new output channel and write the log messages there. For debugging. Enabling it could slow down your vscode.
log.logfile Writes the log message into the given file. Empty means disabled.
gtest.treatGmockWarningAs Forces the test to be failed even it is passed if it contains the string GMOCK_WARNING:. (You may should consider using testing::StrictMock)
gtest.gmockVerbose Sets --gmock_verbose=.... (Note: executable has to be linked to gmock gmock_main not gtest_main)

Plenty of more fine-tuning options are available under test.advancedExecutables like:

  • test grouping
  • parallel running
  • ingoring std error
  • ...

Test Explorer's configurations

This extension is built upon the Test Explorer so its configuration and commands can be used:

testExplorer.___ Description
onStart Retire or reset all test states whenever a test run is started
onReload Retire or reset all test states whenever the test tree is reloaded
codeLens Show a CodeLens above each test or suite for running or debugging the tests
gutterDecoration Show the state of each test in the editor using Gutter Decorations
errorDecoration Show error messages from test failures as decorations in the editor
errorDecorationHover Provide hover messages for the error decorations in the editor
sort Sort the tests and suites by label or location. If this is not set (or set to null), they will be shown in the order that they were received from the adapter
showCollapseButton Show a button for collapsing the nodes of the test tree
showExpandButton Show a button for expanding the top nodes of the test tree, recursively for the given number of levels
showOnRun Switch to the Test Explorer view whenever a test run is started
addToEditorContextMenu Add menu items for running and debugging the tests in the current file to the editor context menu
mergeSuites Merge suites with the same label and parent
hideEmptyLog Hide the output channel used to show a test's log when the user clicks on a test whose log is empty
hideWhen Hide the Test Explorer when no test adapters have been registered or when no tests have been found by the registered adapters. The default is to never hide the Test Explorer (some test adapters only work with this default setting).

Use these commands in your tasks.json like

{
  "label": "Activate Test Explorer",
  "type": "shell",
  "command": "echo ${command:test-explorer.reload}",
  "problemMatcher": [],
  "runOptions": {
    "runOn": "folderOpen" // This will cause the triggering. Have to run manually once!
  }
}
ID Command
test-explorer.reload Reload tests
test-explorer.run-all Run all tests
test-explorer.run-file Run tests in current file
test-explorer.run-test-at-cursor Run the test at the current cursor position
test-explorer.rerun Repeat the last test run
test-explorer.debug-test-at-cursor Debug the test at the current cursor position
test-explorer.redebug Repeat the last test run in the debugger
test-explorer.cancel Cancel running tests

And more at Test Explorer homepage.

About Sentry.io integration

License

Support

Contribution

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].