如何为依赖于其他扩展的vscode扩展运行集成测试

时间:2020-10-26 22:50:17

标签: visual-studio-code integration-testing vscode-extensions

vscode API文档包括a page on how to test extensions。当您有一个没有依赖项的扩展名时,此方法效果很好。但是,在我们的情况下,由于扩展名取决于hbenl.vscode-test-explorer,因此我们extensionDependencies

在我们的CI服务器上,我们遇到一个问题,直到安装了此依赖项,我们才能运行测试,但是vscode的测试API不会暴露任何API来安装扩展。

我们可以下载我们自己的vscode副本,并使用--install-extension命令安装此依赖项,但这使事情变得复杂,因为现在我们正在管理API用来管理的下载。

我想探讨两种合理的可能性:

  1. 激活扩展程序时如何禁用extensionDependencies
  2. 如何在vscode-test运行中下载依赖项?

1 个答案:

答案 0 :(得分:1)

不知何故,我在文档中错过了这一点。 Custom setup with vscode-test

该代码在链接上可用,因此我不会全部复制。这是最相关的部分:

    const vscodeExecutablePath = await downloadAndUnzipVSCode('stable');
    const cliPath = resolveCliPathFromVSCodeExecutablePath(vscodeExecutablePath);

    // Use cp.spawn / cp.exec for custom setup
    cp.spawnSync(cliPath, ['--install-extension', '<EXTENSION-ID-OR-PATH-TO-VSIX>'], {
      encoding: 'utf-8',
      stdio: 'inherit'
    });