javascript - 在 vscode-test 设置中,runTest.ts 类即使在示例项目中也从未使用,它有什么用?
我对 Typescript、JavaScript 和 VScode 扩展是新手
我有一个 vscode-test 设置,如下所述:
https://code.visualstudio.com/api/working-with-extensions/testing-extension#custom-setup-with-vscodetest
仿照此处的 helloworld-test-sample:
https://github.com/microsoft/vscode-extension-samples/tree/master/helloworld-test-sample
我想在 runTest.ts 类的 main 方法中下载一个 VSCode 实例,然后在上面安装我的扩展。但是通过调试,我发现 runTest.ts 类 从未 被调用。index.ts 类 会 被调用,extension.test.ts 类 会 被调用,测试会运行,但是 runTest.ts 类从未被调用,这对我造成了很大阻碍,因为我想做第一条链接中显示的内容。
在原始示例项目中也是如此,所以我认为这就是它的本意。但是 runTest.ts 类的目的是什么呢?
我的目标实际上是在测试中安装我的扩展,并查看它是否正确安装并激活,但这失败了,因为当使用 await 时 downloadAndUnzipVSCode 会失败,并且 resolveCliPathFromVSCodeExecutablePath 只能与 Promise<String> 一起使用。所以我正尝试像第一个链接中显示的版本那样操作。
有人能解释一下为什么 runTest.ts 主方法似乎从未被调用过吗?以及如何实现一个测试,实际上下载一个 VSCode 实例,安装本地的 .vsix 扩展,并评估它是否正确启动?
谢谢 :)
答案#1
你必须从终端 > 运行任务菜单项启动测试任务,而不是从 vscode 调试视图启动调试会话。在 package.json 中,这些脚本位于 yeoman 生成的测试扩展中,最后一个脚本运行 runTest.js。
"scripts": {
"vscode:prepublish": "npm run compile",
"compile": "tsc -p ./",
"watch": "tsc -watch -p ./",
"pretest": "npm run compile",
"test": "node ./out/test/runTest.js"
},
