Skip to content
An example TestAdapter extension for the VS Code Test Explorer
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.vscode initial implementation Sep 1, 2018
img initial implementation Sep 1, 2018
src
.gitignore initial implementation Sep 1, 2018
.vscodeignore initial implementation Sep 1, 2018
LICENSE initial implementation Sep 1, 2018
README.md Link to the API repo for documentation Jul 7, 2019
package-lock.json update dependencies and switch to @types/vscode Jul 13, 2019
package.json
tsconfig.json initial implementation Sep 1, 2018

README.md

Example Test Adapter for Visual Studio Code

This repository contains an example for implementing a TestAdapter extension that works with the Test Explorer extension.

More documentation can be found in the Test Adapter API repository.

Setup

  • install the Test Explorer extension
  • fork and clone this repository and open it in VS Code
  • run npm install
  • run npm run watch or start the watch Task in VS Code
  • start the debugger

You should now see a second VS Code window, the Extension Development Host. Open a folder in this window and click the "Test" icon in the Activity bar. Now you should see the fake example test suite in the side panel:

The fake example test suite

Basic implementation

  • add any configuration properties that your Test Adapter needs to the contributes.configuration.properties section of package.json
  • replace the loadFakeTests() call in src/adapter.ts with your code for loading the test definitions for the real test framework
  • replace the runFakeTests() call in src/adapter.ts with your code for running the tests in a child process using the real test framework

Getting ready to publish

  • search for all occurrences of the word "example" in this project and replace them with the name of the testing framework that your Test Adapter supports
  • update package.json with your preferred values (at a minimum you should change author, publisher, homepage, repository and bugs)
  • create an icon for your Test Adapter (there's an SVG version of the Test Explorer icon at img/test-explorer.svg) and reference it in package.json
  • replace this README with your documentation

Now you're ready to publish the first version of your Test Adapter.

Completing the implementation

  • implement the debug() method
  • implement the cancel() method (it should kill the child process that was started by run() or debug())
  • watch the configuration for any changes that may affect the loading of test definitions and reload the test definitions if necessary
  • watch the workspace for any changes to the test files and reload the test definitions if necessary
  • watch the configuration for any changes that may affect the results of running the tests and emit an autorun event if necessary
  • watch the workspace for any changes to the source files and emit an autorun event if necessary
  • ensure that only one test run is active at a time
You can’t perform that action at this time.