簡體   English   中英

如何為依賴於其他擴展的 vscode 擴展運行集成測試

[英]How do I run integration tests for a vscode extension that depends on other extensions

vscode API 文檔包括一個關於如何測試擴展的頁面 當您有一個沒有依賴項的單個擴展時,這很有效。 然而,在我們的例子中,我們是extensionDependencies因為我們的擴展依賴於hbenl.vscode-test-explorer

在我們的 CI 服務器上,我們有一個問題,在安裝此依賴項之前我們無法運行測試,但是 vscode 的測試 API 沒有公開用於安裝擴展的 API。

我們可以下載我們自己的 vscode 副本並使用--install-extension命令來安裝此依賴項,但這使事情變得復雜,因為現在我們正在管理 API 用於管理的下載。

我想探討兩種合理的可能性:

  1. 如何在激活我的extensionDependencies時禁用 extensionDependencies?
  2. 作為vscode-test運行的一部分,如何下載依賴項?

不知何故,我在文檔中錯過了這一點。 使用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'
    });

嘗試應用 Andrew 的解決方案時的一些附加信息。

test-electro添加到您的項目中

package.json
"devDependencies":
添加"@vscode/test-electron": "^1.6.2", (選擇合適的版本,適合你)

查找擴展 ID

打開擴展信息頁面(就像安裝擴展時一樣)。 您可以在單擊齒輪時復制擴展 ID (見下文)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM