vscode-test设置中的runTest.ts类即使在示例项目中也从未使用过,它的用途是什么?

时间:2019-08-28 15:29:48

标签: javascript typescript visual-studio-code vscode-extensions vscode-debugger

我是Typescript,JavaScript和VScode扩展的新手

我有一个vscode测试设置,如下所示:

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.tsmain方法中下载一个vscode实例,然后在其上安装扩展程序。但是通过调试,我发现runTest.ts类从未被调用过。 index.tsextension.test.ts,运行测试,但是runTest.ts类从来没有,这阻碍了我很大,因为我想做第一个链接中显示的操作。

在原始示例项目中也是如此,因此我认为是那样的。但是runTest.ts类的目的是什么?

我的目标是实际在测试中安装扩展程序,并查看扩展程序是否正确安装并激活,但这失败了,因为使用downloadAndUnzipVSCodeawait失败了,resolveCliPathFromVSCodeExecutablePath只能与Promise<String>一起使用。因此,我正在尝试像第一个链接中所示的版本中那样。

有人可以解释为什么似乎从未调用过runTest.ts主方法吗,也许还可以解释如何实现一个测试,该测试确实下载了VSCode实例,安装了本地.vsix扩展并评估了启动是否正确吗?

谢谢:)

1 个答案:

答案 0 :(得分:1)

您不必从vscode调试视口启动调试会话,而必须从“终端”>“运行任务”菜单项启动测试任务。在package.json中,这些脚本位于yeoman generated test extension中,最后一个运行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"
    },