aboutsummaryrefslogtreecommitdiff
path: root/docs/dev/README.md
diff options
context:
space:
mode:
authorRyan Cumming <[email protected]>2019-06-26 12:36:40 +0100
committerRyan Cumming <[email protected]>2019-06-26 12:38:03 +0100
commit98ac62c9d78ff5ec323c7d9aeae8845e1df20b19 (patch)
tree9139681d87c2c5f09532d47337f7cbd5c0742249 /docs/dev/README.md
parentf82ceca0bd8de2a2b0b51c96c5c1678351a7a20a (diff)
Document the VS Code extension test framework
Diffstat (limited to 'docs/dev/README.md')
-rw-r--r--docs/dev/README.md19
1 files changed, 19 insertions, 0 deletions
diff --git a/docs/dev/README.md b/docs/dev/README.md
index 3dc37e86e..0a148ed32 100644
--- a/docs/dev/README.md
+++ b/docs/dev/README.md
@@ -97,6 +97,25 @@ To work on the VS Code extension, launch code inside `editors/code` and use `F5`
97to launch/debug. To automatically apply formatter and linter suggestions, use 97to launch/debug. To automatically apply formatter and linter suggestions, use
98`npm run fix`. 98`npm run fix`.
99 99
100Tests are located inside `src/test` and are named `*.test.ts`. They use the
101[Mocha](https://mochajs.org) test framework and the builtin Node
102[assert](https://nodejs.org/api/assert.html) module. Unlike normal Node tests
103they must be hosted inside a VS Code instance. This can be done in one of two
104ways:
105
1061. When `F5` debugging in VS Code select the `Extension Tests` configuration
107 from the drop-down at the top of the Debug View. This will launch a temporary
108 instance of VS Code. The test results will appear in the "Debug Console" tab
109 of the primary VS Code instance.
110
1112. Run `npm test` from the command line. Although this is initiated from the
112 command line it is not headless; it will also launch a temporary instance of
113 VS Code.
114
115Due to the requirements of running the tests inside VS Code they are **not run
116on CI**. When making changes to the extension please ensure the tests are not
117broken locally before opening a Pull Request.
118
100# Logging 119# Logging
101 120
102Logging is done by both rust-analyzer and VS Code, so it might be tricky to 121Logging is done by both rust-analyzer and VS Code, so it might be tricky to