如何对依赖于其他扩展的vscode扩展运行集成测试 [英] How do I run integration tests for a vscode extension that depends on other extensions

查看:24
本文介绍了如何对依赖于其他扩展的vscode扩展运行集成测试的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

vscode API文档包括a page on how to test extensions。当您有一个没有依赖项的单一扩展时,这很有效。但是,在我们示例中,我们extensionDependencies,因为我们的扩展依赖于hbenl.vscode-test-explorer

在我们的CI服务器上,我们有一个问题,即在安装此依赖项之前无法运行测试,但是vscode的测试API没有公开任何API来安装扩展。

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

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

  1. 激活分机时如何禁用extensionDependencies
  2. 如何将依赖项下载为vscode-test运行的一部分?

推荐答案

不知何故,我在文档中遗漏了这一点。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'
    });

这篇关于如何对依赖于其他扩展的vscode扩展运行集成测试的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆