用于开玩笑的 VSCode 扩展测试运行器

use*_*832 5 jestjs visual-studio-code vscode-extensions

使用官方生成器启动 VSCode 扩展时,会自动生成extension.test.tsindex.ts文件。index.ts只包含用于扩展测试的测试运行器的设置,它是基于 Mocha 的。Mocha 测试运行器本身可以在这里看到:https : //github.com/Microsoft/vscode-extension-vscode/blob/master/lib/testrunner.js

我一直在四处寻找任何基于 Jest 的官方 Jest。有人知道吗?

Alm*_*non 0

官方没有,需要自己创建。

Igor Soloydenko 去年(2019 年)写了一份关于如何做到这一点的指南:

https://medium.com/@soloydenko/end-to-end-testing-vs-code-extensions-via-jest-828e5edfeb75

伪代码:

const jestTestRunnerForVSCodeE2E: ITestRunner = {
  run(testsRoot: string, clb: (error: Error, failures?: number) => void): void {
    try {
      const result = runJestTests(configuration);
      if (result.executionError) {
        clb(result.executionError);
      } else {
        clb(undefined, result.numberOfFailedTests);
      }
    } catch (e) {
      clb(e);
    }
  }
};

module.exports = jestTestRunnerForVSCodeE2E;
Run Code Online (Sandbox Code Playgroud)

当然,还提供了链接@user1795832: https: //github.com/rozzzly/vscode-prompt-debug/tree/master/test

该链接中的代码上次更新于 2018 年 5 月,因此不确定它是否仍然有效。