代码之家  ›  专栏  ›  技术社区  ›  cefn

为什么调试测试会用ts jest编译不相关的typescript测试?

  •  0
  • cefn  · 技术社区  · 5 年前

    module.exports = {
      preset: 'ts-jest',
      testEnvironment: 'node',
    };
    

    不幸的是,当我试图在一个测试文件中调试一个测试时,它似乎试图编译其他不相关的测试(没有任何导入的文件)。

    它们无法编译(因为它们是草稿),并且编译器的失败阻止了我正在进行的测试的调试。

    在我的使用测试.tsVSCode中的文件如下所示。因此,我希望所有编译和调试任务仅限于 test/lib/formula/util.test.ts 文件及其导入,实际上只有一个测试将在该套件中运行。。。

    env 'NODE_OPTIONS=--require "/Applications/Developer/Visual Studio Code.app/Contents/Resources/app/extensions/ms-vscode.js-debug/src/bootloader.bundle.js" ' 'VSCODE_INSPECTOR_OPTIONS={"inspectorIpc":"/var/folders/cj/qrcw8f3d1cj71dp5x2wrkkynk6z1lj/T/node-cdp.88881-4.sock","deferredMode":false,"waitForDebugger":"","execPath":"/Users/cefn/.nodenv/shims/node","onlyEntrypoint":false,"fileCallback":"/var/folders/cj/qrcw8f3d1cj71dp5x2wrkkynk6z1lj/T/node-debug-callback-1cc8c127f12b5779"}' /Users/cefn/.nodenv/shims/node ./node_modules/.bin/jest /Users/cefn/Documents/bbc/github/derel/search-recipe-testing/test/lib/formula/util.test.ts -t "Encode hunks to solr http query string" --runInBand
    

    Debugger listening on ws://127.0.0.1:63677/ab83b821-4030-410a-b39a-76240892f588
    For help, see: https://nodejs.org/en/docs/inspector
    Debugger attached.
     FAIL  test/lib/formula/util.test.ts
      ● Test suite failed to run
        suite/bugs/draft.test.ts:24:71 - error TS2304: Cannot find name 'Doc'.
    

    我已经安装了VSCode和Jest扩展。我尝试在一个单独的存储库中用相同的配置文件和类似的结构(a)重新创建这个案例 good.test.ts 和一个 bad.test.ts 但我无法重现失败。

    在单独的repo中,调试 好的.test.ts 不会触发编译尝试 在它旁边。具有相同配置的repo位于 https://github.com/cefn/ts-jest-compile-bug 我看不出这个案子和另一个有什么不同。

    在我看来,我所从事的项目没有任何不寻常的配置或开发插件,所以它似乎来自主流工具。

    有人对什么工具或配置可能导致这种混乱的编译有什么建议吗,这样我就可以调查并解决这个问题了?

    0 回复  |  直到 5 年前
    推荐文章