Skip to content

Commit 9a88a32

Browse files
committed
test: Introduces Vitest for unit tests
Signed-off-by: Tyler Smalley <tyler@tailscale.com>
1 parent 5c36e64 commit 9a88a32

4 files changed

Lines changed: 22 additions & 0 deletions

File tree

.github/workflows/test.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ jobs:
2626
key: yarn-cache
2727
- name: Install dependencies
2828
run: tool/yarn install --frozen-lockfile --prefer-offline
29+
- name: Unit tests
30+
run: tool/yarn test
2931
- name: Lint
3032
run: tool/yarn lint
3133
- name: Typescript

.vscode/launch.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,17 @@
1515
},
1616
"outFiles": ["${workspaceFolder}/dist/**/*.js"],
1717
"preLaunchTask": "${defaultBuildTask}"
18+
},
19+
{
20+
"type": "node",
21+
"request": "launch",
22+
"name": "Debug Current Test File",
23+
"autoAttachChildProcesses": true,
24+
"skipFiles": ["<node_internals>/**", "**/node_modules/**"],
25+
"program": "${workspaceRoot}/node_modules/vitest/vitest.mjs",
26+
"args": ["run", "${relativeFile}"],
27+
"smartStep": true,
28+
"console": "integratedTerminal"
1829
}
1930
]
2031
}

package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -278,6 +278,7 @@
278278
"package": "vsce package --allow-star-activation",
279279
"precommit": "lint-staged",
280280
"prepare": "husky install",
281+
"test": "vitest",
281282
"vscode:prepublish": "(yarn run bundle-js & pid1=$!; yarn run bundle-go & pid2=$!; wait $pid1 || exit 1; wait $pid2 || exit 1)",
282283
"watch": "webpack serve"
283284
},
@@ -315,6 +316,7 @@
315316
"ts-loader": "^9.4.4",
316317
"typescript": "^5.1.6",
317318
"utf-8-validate": "^6.0.3",
319+
"vitest": "^.33.0",
318320
"vscode-jsonrpc": "^8.1.0",
319321
"webpack": "^5.88.2",
320322
"webpack-cli": "^5.1.4",

vitest.config.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import { configDefaults, defineConfig } from 'vitest/config';
2+
3+
export default defineConfig({
4+
test: {
5+
exclude: [...configDefaults.exclude, '**/out/**'],
6+
},
7+
});

0 commit comments

Comments
 (0)